ФИПИ · ОГЭ · все форматы ответа · 1585 заданий
Тип задачи: Анализ программы с ветвлением.
| КЭС: | 3.2 Язык программирования (Python, C++, Паскаль, Java, C#, Школьный Алгоритмический Язык). Система программирования: редактор текста программ, транслятор, отладчик. Переменная: тип, имя, значение. Целые, вещественные и символьные переменные. Оператор присваивания. Арифметические выражения и порядок их вычисления. Операции с целыми числами: целочисленное деление, остаток от деления. Ветвления. Составные условия (запись логических выражений на изучаемом языке программирования). Нахождение минимума и максимума из двух, трёх и четырёх чисел. Решение квадратного уравнения, имеющего вещественные корни. Цикл с условием. Алгоритм Евклида для нахождения наибольшего общего делителя двух натуральных чисел. Разбиение записи натурального числа в позиционной системе с основанием, меньшим или равным 10, на отдельные цифры. Цикл с переменной. Алгоритмы проверки делимости одного целого числа на другое, проверки натурального числа на простоту |
| Тип ответа: | Краткий ответ |
Ответ: 6
1. Разберём условие программы.
Сообщение YES выводится, когда условие истинно, а NO — когда оно ложно. Запишем проверяемое выражение словами:
(s больше A ИЛИ t больше 11).
Операция И требует истинности обеих частей, ИЛИ — хотя бы одной; НЕ меняет истину на ложь и наоборот. Сначала выполняются сравнения и действия в скобках, затем соответствующие логические операции. Равенство граничному числу проверяем особенно внимательно.
2. Определим зависимость от A.
NO получается только тогда, когда обе части ИЛИ ложны: t ≤ 11 И s ≤ A. Условие t ≤ 11 выполняется в запусках 1, 2, 4, 5, 6, 7, 8, 9. Остальные всегда дают YES и от A не зависят.
Выпишем значения s из подходящих запусков по возрастанию, сохраняя повторения:
−9, 2, 2, 7, 7, 9, 11, 12.
Число сообщений NO равно количеству чисел этого списка, не превосходящих A. Повторы относятся к разным запускам, поэтому каждый учитывается отдельно. Число YES равно 9 минус число NO.
Требуемое количество сообщений YES — 6; соответствующее количество NO — 3. A должно быть не меньше числа на месте 3, равного 2, и меньше числа на месте 4, равного 7. Для целого A это даёт 2 ≤ A ≤ 6.
3. Выберем ответ из найденного диапазона.
Наибольшее целое значение в диапазоне — 6. Диапазон учитывает все целые значения A, в том числе отрицательные; произвольного ограничения поиска нет.
4. Проверка.
Подставим A = 6 в исходную программу и проверим каждый запуск:
Запуск 1: (−9; 11) — вывод NO.
Запуск 2: (2; 7) — вывод NO.
Запуск 3: (5; 12) — вывод YES.
Запуск 4: (2; −2) — вывод NO.
Запуск 5: (7; −9) — вывод YES.
Запуск 6: (12; 6) — вывод YES.
Запуск 7: (9; −1) — вывод YES.
Запуск 8: (7; 11) — вывод YES.
Запуск 9: (11; −5) — вывод YES.
Получено 6 сообщений YES и 3 сообщения NO; требуемых YES — 6. При соседнем A = 1 сообщений YES уже 8. При соседнем A = 7 сообщений YES уже 4. При увеличении A число NO не уменьшается, а число YES не увеличивается, поэтому за границами найденного диапазона нужное количество не появится снова.
Ответ: 6.
Напишите пожелание к сайту или решению либо сообщите о найденной неточности в задании OGEINF7D61A1.
Сообщение увидит только команда сайта: на странице оно не публикуется.
Комментарии к решению
Комментарии видны всем посетителям сайта.
Комментариев пока нет. Будьте первым.
Чтобы оставить комментарий, войдите или зарегистрируйтесь.