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

Три массива: вопросы викторины, верные ответы, ответы, которые будут введены участниками. ответы в основном из одного - двух слов. все вопросы и ответы ввожу присваиванием, но когда пишу цикл на ввод ответа, то первый раз цикл срабатывает нормально, а последующие разы программа не требует ввода, то есть оператор read не работает. что я сделала не так? вот программа: program m81337154u; var i: integer; ans: array [1..12] of string; quest: array [1..12] of string; answ: array [1..12] of string; begin writeln (''); ans[1]: =''; ans[2]: =''; ans[3]: =''; ans[4]: =''; ans[5]: =''; ans[6]: =''; ans[7]: =''; ans[8]: =''; ans[9]: =''; ans[10]: =''; ans[11]: =''; ans[12]: =''; quest[1]: =''; quest[2]: =''; quest[3]: =''; quest[4]: =''; quest[5]: =''; quest[6]: =''; quest[7]: =''; quest[8]: =''; quest[9]: =''; quest[10]: =''; quest[11]: =''; quest[12]: =''; for i: =1 to 12 do begin writeln ('вопрос номер ', i); writeln (quest[i]); write ('ваш ответ - '); read (answ[i]); if answ[i]=ans[i] then writeln ('ответ верный') else writeln ('ответ неверный, попробуйте снова'); writeln; end; writeln ('congrats'); end. где-то есть ошибка? или паскаль никогда не повторяет read в цикле?

Показать ответ
Ответ:
AntonTimoshin
AntonTimoshin
03.10.2020 18:11
Program p;
var i: integer;
quest:array [1..2] of string;
ans:array [1..2] of string;
answ:array [1..2] of string;
begin
quest[1]:='20*2=';
quest[2]:='3*5=';
ans[1]:='40';
ans[2]:='15';
for i:=1 to 2 do begin
writeln ('Вопрос номер ', i);
writeln (quest[i]);
write ('Ваш ответ - ');
readln (answ[i]);
while answ[i]<>ans[i] do
 begin
 writeln ('ответ неверный, попробуйте снова');
 readln(answ[i]);
 end;
writeln ('ответ верный');
writeln;
end;
writeln ('Congrats');
end.

Пример:
Вопрос номер 1
20*2=
Ваш ответ - 40
ответ верный

Вопрос номер 2
3*5=
Ваш ответ - 10
ответ неверный, попробуйте снова
14
ответ неверный, попробуйте снова
15
ответ верный

Congrats
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота