Информатика, опубликовано 2018-08-22 23:38:43 by Гость

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

Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.

Форма вопроса доступна на полной версии этой страницы.