Программа подсчитывает количество слов длиной в 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.
1)
var
a:array[1..50]of real;
i,n:byte;
Sn:real;
begin
write('Введите количество элементов массива: ');readln(n);
for i:=1 to n do
begin
write('a[',i,']= '); readln(a[i]);
end;
clrscr;
writeln('Исходный массив:');
/* Вывод в строчку через запятую*/
for i:=1 to n-1 do write(a[i]:5:3,', '); write(a[n]:5:3,'.');
/*Простой вывод в столбик*/
for i:=1 to n do writeln(a[i]:5:3);
/*Сумма элементов, стоящих на четных местах*/
Sn:=0;
while i<=n do
begin
if odd(i)=false then Sn:=Sn+a[i];
i:=i+1;
end;
/*Вывод ответа*/
writeln('Сумма элементов, стоящих на четных местах: ',Sn:5:3);
end.
2)
var
a:array[1..50]of real;
i:byte;
begin
write('Введите количество элементов массива: ');readln(n);
for i:=1 to n do
begin
write('a[',i,']= '); readln(a[i]);
end;
clrscr;
writeln('Исходный массив:');
/* Вывод в строчку через запятую*/
for i:=1 to n-1 do write(a[i]:5:3,', '); write(a[n]:5:3,'.');
/*количество элементов кратных 3*/
kol:=0;
for i:=1 to n do
if a[i] mod 3 =0 then kol:=kol+1;
/*Вывод ответа*/
writeln('Количество элементов массива, кратных трем: ',kol);
end.