Помогите, пожалуйста объяснить как работает программа, очень срочно, пожалуйста)))program Zinaida;const N=5;var i,k:integer; inString:String; isize,count:integer;Begin repeat write(String: ); readln(inString); k:=length(instring); if instring[k]=. then dec(k); for i:=1 to k do begin if instring[i] then inc(isize); if (instring[i]= ) or (i=k) then begin if isize=5 then inc(count); isize:=0; end;write(Количество слов из пяти букв,count);End.
Программа подсчитывает количество слов длиной в 5 символов во введенном тексте. Но работать она не будет, есть ошибки:
1. Встречен repeat но нет until
2. Есть 3 begin, но только 2 end
3. Константа N лишняя. Нигде в программе не используется
После исправления ошибок программа с краткими комментариями будет выглядеть так:
program Zinaida;
var
i, k: integer;
inString: String;
isize, count: integer;
begin
write(String: );
readln(inString); //ввод текста
k := length(instring); //длина текста
if instring[k] = . then dec(k);
//цикл для поиска пробелов и
//слов с длиной 5 символов
for i := 1 to k do
begin
if instring[i] then inc(isize);
if (instring[i] = ) or (i = k) then
begin
//если длина слова = 5 то увеличиваем count на 1
if isize = 5 then inc(count);
isize := 0;
end;
end;
write(Количество слов из пяти букв, count);
end.
