Задача в паскале. решение есть, нужно объяснить
Помогите пожалуйста с объяснением. Препод будет по полной спрашивать каждую строчку.
Задача: дана строка содержащая текст на русском языке подсчитать количество слов начинающихся и заканчивающихся на одну и ту же букву.
program Project1;
function CountWord(const aStr : String) : Word;
const
Delims = [' ', '.', ',', ':', ';', '!', '?', '-'];
var
i : Integer;
StrWord : String;
Res : Word;
begin
Res := 0;
StrWord := '';
for i := 1 to Length(aStr) do begin
if not (aStr[i] in Delims) then StrWord := StrWord + aStr[i];
if ( (aStr[i] in Delims) or (i = Length(aStr)) ) and (StrWord <> '') then begin
if UpCase(StrWord[1]) = UpCase( StrWord[ Length(StrWord) ] ) then Inc(Res);
StrWord := '';
end;
end;
CountWord := Res;
end;
var
StrTmp : String;
CntWord : Word;
begin
write('Введите строку:'); Readln(StrTmp);
CntWord := CountWord(StrTmp);
Writeln('Количество слов с одинаковой буквой (независимо от регистра) в начале и в конце = ', CntWord);
Readln;
end.
Не могу ничем помочь препод всегда может дать новую задачу если он не уверен или потребовать изменить старую))
Спрашивай, что непонятно, а не проси простыню разъяснений. Даже только слово "Word" можно разъяснять на полстраницы ;)