Помогите, пожалуйста объяснить как работает программа, очень срочно, пожалуйста)))program...

0 голосов
43 просмотров

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


Информатика (12 баллов) | 43 просмотров
Дан 1 ответ
0 голосов

Программа подсчитывает количество слов длиной в 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.

(13.9k баллов)