ОГЭ Информатика 2022: Разбор задания 6 (Python)

Задание предполагает анализ программы с условным оператором и определение количества запусков, при которых программа выведет заданное значение. Рассмотрим решение на примерах. Программа представлена на языке Python, но принципы решения применимы к большинству языков программирования.

Пример 1: Вывод «yes»

Программа использует две переменные, s и t, вводимые пользователем. Условие вывода «yes»: s > 12 or t > 12. Это логическое выражение с оператором or; «yes» выводится, если хотя бы одно условие истинно.

Проверим пары чисел:

  • (1, 13): 1 > 12 — ложно, 13 > 12 — истинно. Выводится «yes».
  • (14, 1): 14 > 12 — истинно. Выводится «yes».
  • (1, 12): 1 > 12 — ложно, 12 > 12 — ложно. Выводится «no».
  • (11, 12): 11 > 12 — ложно, 12 > 12 — ложно. Выводится «no».
  • (-14, -14): Оба условия ложны. Выводится «no».
  • (-11, 13): -11 > 12 — ложно, 13 > 12 — истинно. Выводится «yes».
  • (-4, 11): Оба условия ложны. Выводится «no».
  • (2, 9): Оба условия ложны. Выводится «no».
  • (8, 6): Оба условия ложны. Выводится «no».

Программа выведет «yes» в трёх запусках.

Пример 2: Вывод «no»

Условие вывода «no»: s > 8 or t > 8. Программа выведет «no», только если оба условия ложны. Это эквивалентно условию: s ≤ 8 and t ≤ 8.

Проверим пары чисел:

  • (8, 8): Условие выполняется. Выводится «no».
  • (9, 4): Условие не выполняется. Выводится «yes».
  • (4, 7): Условие выполняется. Выводится «no».
  • (6, 6): Условие выполняется. Выводится «no».
  • (-9, -2): Условие выполняется. Выводится «no».
  • (-5, 9): Условие не выполняется. Выводится «yes».
  • (10, 10): Условие не выполняется. Выводится «yes».
  • (9, 10): Условие не выполняется. Выводится «yes».
  • (10, 9): Условие не выполняется. Выводится «yes».

Программа выведет «no» в четырёх запусках.

Пример 3: Оператор «and»

Условие вывода «yes»: s > 5 and t > 5. Оператор and требует выполнения обоих условий.

Проверим пары чисел:

  • (6, 8): Условие выполняется. Выводится «yes».
  • (3, 2): Условие не выполняется. Выводится «no».
  • (-7, 1): Условие не выполняется. Выводится «no».
  • (7, 7): Условие выполняется. Выводится «yes».
  • (9, 8): Условие выполняется. Выводится «yes».
  • (-1, -1): Условие не выполняется. Выводится «no».
  • (-4, 3): Условие не выполняется. Выводится «no».
  • (6, 9): Условие выполняется. Выводится «yes».
  • (2, -1): Условие не выполняется. Выводится «no».

Программа выведет «yes» в четырёх запусках.

Пример 4: Целочисленное деление

Условие вывода «yes»: s // 2 == k, где k — второе число в паре. // обозначает целочисленное деление.

Проверим пары чисел:

  • (1, 1): 1 // 2 == 1 — ложно. Выводится «no».
  • (8, 4): 8 // 2 == 4 — истинно. Выводится «yes».
  • (14, 10): 14 // 2 == 10 — ложно. Выводится «no».
  • (20, 1): 20 // 2 == 1 — ложно. Выводится «no».
  • (7, 3): 7 // 2 == 3 — истинно. Выводится «yes».
  • (10, 5): 10 // 2 == 5 — истинно. Выводится «yes».
  • (10, 2): 10 // 2 == 2 — ложно. Выводится «no».
  • (4, 1): 4 // 2 == 1 — истинно. Выводится «yes».
  • (1, 0): 1 // 2 == 0 — истинно. Выводится «yes».

Программа выведет «yes» в четырёх запусках.

Пример 5: Наименьшее значение параметра

Программа использует три переменные: s, t, и a. Условие вывода «no»: s ≤ a and t ≤ 12. Необходимо найти наименьшее целое значение a, при котором программа выведет «no» восемь раз.

В восьми парах значение t меньше или равно 12. Чтобы программа вывела «no» во всех восьми случаях, необходимо, чтобы s ≤ a также выполнялось. Максимальное значение s среди этих восьми пар равно 13. Поэтому наименьшее целое значение a, при котором условие выполнится во всех восьми случаях, равно 13.

Приведённые примеры иллюстрируют анализ программ с условными операторами и определение количества запусков, приводящих к нужному результату. Понимание логических операторов (or, and) и условий программы является ключевым.

Что будем искать? Например,программа