Помогите, пожалуйста объяснить как работает программа, очень срочно, пожалуйста)))
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.

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку