
Встреченно 'end', а ожидалось ';' program n_1; var a, b : string; i, s, n: integer; begin
n:=0; repeat writeln('Введите слово'); readln(a); s:=length(a); for i:=1 to s do begin if a[i]= then n:=n+1 end; if n>=2 then b:=b+' '+a; writeln('Слово',b); writeln('Количество букв: ', n); end.

Ответы на вопрос







Ваш код содержит несколько ошибок. Основные проблемы в вашем коде:
Ошибка сравнения символа: У вас встречается выражение
if a[i]= then n:=n+1
, но вы не указали, с чем нужно сравниватьa[i]=
. Вам нужно указать символ, с которым вы хотите сравниватьa[i]
.Ошибка в операторе
if n>=2 then b:=b+' '+a;
. Вы забыли добавитьbegin
иend
для тела оператораif
.Отсутствует оператор
until
для завершения циклаrepeat
.Ошибка в выводе слова
writeln('Слово',b);
. Вы должны использоватьwriteln('Слова',b);
, так как переменнаяb
содержит не одно слово, а несколько слов.
Исправленный код может выглядеть следующим образом:
pascalprogram n_1; var a, b: string; i, s, n: integer; begin n := 0; b := ''; repeat writeln('Введите слово (для завершения введите "end"):'); readln(a); if a = 'end' then break; s := length(a); for i := 1 to s do begin if a[i] = ' ' then n := n + 1; end; if n >= 2 then b := b + ' ' + a; writeln('Слова:', b); writeln('Количество букв: ', n); until false; end.
Этот код позволяет вводить слова до тех пор, пока не будет введено слово "end". Он также подсчитывает количество пробелов в каждом введенном слове и сохраняет слова, в которых пробелов больше или равно 2, в переменной b
.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili