Задание 6 ОГЭ по информатике: решайте с автопроверкой
В задании 6 дана короткая программа с условием if. Её запустили несколько раз с разными входными числами. Нужно посчитать запуски, где она напечатала «YES», или подобрать параметр A под нужное число таких запусков.
Решать задачи номераКак решать программой
Перепишите условие программы в Python и проверьте его для каждой пары входных чисел. Выражение sum(1 for ...) посчитает подходящие пары.
Если нужно найти A, переберите его значения в разумных пределах и для каждого посчитайте ответы «YES». Наименьшее A — это первое подходящее при переборе по возрастанию.
Внимательно смотрите на строгие и нестрогие сравнения и на связку: в or достаточно одного истинного условия, в and нужны оба.
Иногда спрашивают, при скольких целых A программа напечатает «YES» ровно k раз. Тогда соберите все подходящие A в список и напечатайте его длину. Пределы перебора подберите так, чтобы за их краями ответ не менялся.
Разбор примера
Программа печатает «YES», если s > A или t > 7. Даны девять запусков и A = 6. Сколько раз напечатано «YES»?
runs = [(3, 9), (12, 4), (8, 8), (5, 7), (-4, 10), (9, 1), (7, 7), (10, -2), (6, 12)]
A = 6
print(sum(1 for s, t in runs if s > A or t > 7))Программа печатает
8
«NO» печатает только запуск (5, 7): 5 не больше 6, и 7 не больше 7. В остальных восьми запусках хотя бы одно условие верно.
Решить эту задачуЗадачи к заданию 6
- Сколько раз программа напечатает YESЛёгкаяРешать
- Наименьшее A для k ответов YESЛёгкаяРешать
- Сколько значений A подходятЛёгкаяРешать
- Делимость в условии программыЛёгкаяРешать
- Наибольшее A для k ответов NOЛёгкаяРешать
- Номера запусков с ответом YESЛёгкаяРешать
- Пары параметров A и BСредняяРешать
- Сколько раз программа напечатает NOЛёгкаяРешать
Бесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).
Вопросы и ответы
- Можно ли решить руками?
- Да, проверив каждую пару. Программа быстрее, когда пар много или нужно перебрать A.
- Как найти все подходящие A?
- Переберите A в цикле и соберите значения, при которых число ответов «YES» совпало с нужным.
- Почему важна связка or или and?
- От неё зависит, сколько условий должно выполниться. Перепутав связку, вы получите другой ответ.
- Как программа на Pascal отличается от программы на Python?
- Только записью: условие if s > A or t > 7 в Pascal пишется как if (s > A) or (t > 7). Скобки там обязательны.