Задание 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). Скобки там обязательны.