Объяснить как работает программа, , 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.

radomirboy radomirboy    3   22.07.2019 19:00    0

Ответы
Кирилл222123123413 Кирилл222123123413  07.08.2020 12:41
Программа подсчитывает количество слов длиной в 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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика