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

Сообщество спортсменов проводит розыгрыш билетов на чемпионат мира по футболу. Чтобы принять участие, нужно угадать название популярной игры о футболе («FIFA»). Программа должна запрашивать название игры, пока не будет введено «FIFA» или пока не закончатся 3 попытки.

Если дан правильный ответ, программа печатает: «Поздравляем! Вы угадали с попытки № _» и завершает работу.


Сообщество спортсменов проводит розыгрыш билетов на чемпионат мира по футболу. Чтобы принять участие

Показать ответ
Ответ:
3462686
3462686
15.06.2021 19:15
Сначала переменные a,b,c получат значения.
Значением условного выражения (a div 25) = 0 будет False (ложно), поскольку 125 / 5 = 5, а не 0.
Следовательно, в первом условном операторе должен выполняться код в блоке, стоящий после ключевого слова else, если таковое имеется.
Рассмотрим фрагмент программы, как он записан:

if a div 25=0 then
if a mod 12=0 then c:=b div (a mod c)
else c:=a div (b mod c);

Отступы придумали не зря: они понимать логику программы.
Мы видим ДВА if, ДВА then и только ОДНО else. Какому же if оно сопоставляется?
Другими словами, какая из двух следующих конструкций правильная?

if a div 25=0 then
    if a mod 12=0 then c:=b div (a mod c) else c:=a div (b mod c);

if a div 25=0 then
    if a mod 12=0 then c:=b div (a mod c)
else c:=a div (b mod c);

Правила языка Паскаль легко позволяют разрешить проблему: ключевое слово else связывается с ближайшим к нему предшествующим if, не имеющим else.

Следовательно, верно первое из толкований, т.е. первый if ветки с else не имеет. Поэтому значение переменной с не изменится, оставшись равным 12.

ответ: 12

Замечание.
А как сделать, чтобы выполнялась логика второй конструкции? Очень просто: использовать блок.

if a div 25=0 then
    begin if a mod 12=0 then c:=b div (a mod c) end
else c:=a div (b mod c);
0,0(0 оценок)
Ответ:
bufo2012
bufo2012
22.01.2021 00:13
Нарисовал таблицу: по вертикали фамилии, по горизонтали - специальности.
Начал вычеркивать: щапов куприянов - не пилоты, поэтому ставлю "-". Петров куприянов - не штурманы - тоже минусы. Щапов и сошин - не радисты- еще 2 минуса. Сигов и щапов - не синоптики - еще 2 минуса (ну вот тут конечно натяжка с сыном) . Петров и Щапов - не бортмеханики - еще 2 минуса. У щапова осталась одна клетка - штурман. Ставлю в нее крест, а остальным в колонке штурман - нули (ну можно тоже минусы) . Далее - куприянов и сигов - не синоптики - еще минусы (кстати - тут проверка натяжки по сыну в санатории) . У куприянова остается 2 клетки- радист и бортмеханик, но он - не радист, потому что занимается боксом, т. е. он - бортмеханик. ставим крест ему в бортмеханик и 0 - в клетку радист.
Сошину и сигову - нули в клетку бортмеханик. Сигов - боксер, поэтому - не радист. Минус в клетку и у него остается только клетка пилот. Нули в клетку пилот петрову и сошину. В столбце радист осталась свободная клетка только у Петрова. Стало быть - сошин - синоптик
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота