Задание 6 ОГЭ по информатике: исполнение программы с условием
Задание 6 ОГЭ по информатике показывает короткую программу с условием и девять пар входных чисел. Нужно посчитать, сколько раз программа напечатает YES или NO, или подобрать параметр A, при котором ответов YES будет заданное число. Каждую пару проверяют по условию, как это сделал бы компьютер.
- Что проверяет: Умение формально исполнять алгоритмы, записанные на языке программирования: ветвление, составные условия с «и», «или» (по проекту спецификации 2027 года). Базовый уровень.
- Баллы: 1 первичный балл
- Формат ответа: Одно целое число: количество запусков или значение параметра.
- Программа: задание решают без программы, ответ можно проверить на Python
- Уровень сложности: базовый
- Время: около 4 минут по спецификации
- Кодификатор: 3.2 — язык программирования; ветвления; составные условия (запись логических выражений на изучаемом языке программирования)
Как решать
В экзаменационном варианте одна и та же программа записана на пяти языках: алгоритмическом языке, Паскале, Бейсике, Python и C++. Достаточно прочитать её на знакомом языке.
Шаг 1. Выпишите условие отдельно, например «s > 8 и t ≤ 5». Отметьте, что соединяет части: «и» (and, &&) требует выполнения обеих, «или» (or, ||) — хотя бы одной.
Шаг 2. Пройдите по девяти парам и для каждой поставьте плюс или минус. Для «и» удобно сначала проверить более редкую часть: если она ложна, вторую можно не смотреть.
Шаг 3. Посчитайте плюсы. Если спрашивают про NO, считайте минусы.
Если в программе есть параметр A, разделите пары на две группы. Для одних ответ не зависит от A (например, при «или» вторая часть уже истинна). Для остальных ответ решается сравнением с A. Посчитайте, сколько YES дают пары первой группы, сколько ещё нужно, и найдите промежуток значений A, при котором добирается ровно столько. Из промежутка возьмите число, которое просят: наименьшее или наибольшее.
Внимательнее со знаками: s > 8 не выполняется при s = 8, а t <= 5 выполняется при t = 5.
Примеры с решением
Пример 1
Дана программа:
s = int(input())
t = int(input())
if s > 8 and t <= 5:
print('YES')
else:
print('NO')
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел: (9, 5); (8, 5); (10, 6); (12, −3); (3, 1); (9, 9); (15, 0); (−9, 4); (11, 5). Сколько было запусков, при которых программа напечатала «YES»?
Проверка ответа на Python
# Задание 6 ОГЭ, пример 1: сколько раз программа напечатает YES
def program(s, t):
if s > 8 and t <= 5:
return "YES"
return "NO"
runs = [(9, 5), (8, 5), (10, 6), (12, -3), (3, 1), (9, 9), (15, 0), (-9, 4), (11, 5)]
print(sum(program(s, t) == "YES" for s, t in runs))Ответ: 4
Нужно одновременно s > 8 и t ≤ 5. Подходят (9, 5), (12, −3), (15, 0), (11, 5). Пара (8, 5) не подходит: 8 не больше 8. Пары (10, 6) и (9, 9) не подходят по t, пары (3, 1) и (−9, 4) — по s. Итого 4.
Пример 2
Дана программа:
s = int(input())
t = int(input())
A = int(input())
if s > A or t > 10:
print('YES')
else:
print('NO')
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел: (1, 11); (5, 2); (12, 3); (9, 12); (7, 7); (10, 1); (4, 15); (−2, 8); (6, 10). Укажите наименьшее целое значение параметра A, при котором для указанных входных данных программа напечатает «YES» ровно четыре раза.
Проверка ответа на Python
# Задание 6 ОГЭ, пример 2: наименьшее целое A, при котором YES будет ровно 4 раза
def program(s, t, A):
if s > A or t > 10:
return "YES"
return "NO"
runs = [(1, 11), (5, 2), (12, 3), (9, 12), (7, 7), (10, 1), (4, 15), (-2, 8), (6, 10)]
good = [A for A in range(-100, 101) if sum(program(s, t, A) == "YES" for s, t in runs) == 4]
print(min(good))Ответ: 10
При t > 10 программа печатает YES при любом A: это пары (1, 11), (9, 12), (4, 15), три раза. Нужен ещё ровно один YES от остальных пар, где решает условие s > A. Значения s у них: 5, 12, 7, 10, −2, 6. Чтобы больше A было только 12, нужно 10 ≤ A < 12. Наименьшее такое A — 10. При A = 9 больше A станут 12 и 10, и YES будет пять раз.
Пример 3
Дана программа:
s = int(input())
t = int(input())
if s >= 10 or t > 10:
print('YES')
else:
print('NO')
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел: (4, 10); (12, 3); (10, 11); (7, 7); (−3, 15); (10, 10); (0, −20); (15, 15); (9, 11). Сколько было запусков, при которых программа напечатала «NO»?
Проверка ответа на Python
# Задание 6 ОГЭ, пример 3: сколько раз программа напечатает NO
def program(s, t):
if s >= 10 or t > 10:
return "YES"
return "NO"
runs = [(4, 10), (12, 3), (10, 11), (7, 7), (-3, 15), (10, 10), (0, -20), (15, 15), (9, 11)]
print(sum(program(s, t) == "NO" for s, t in runs))Ответ: 3
NO печатается, когда обе части «или» ложны: s < 10 и t ≤ 10. Так выходит у пар (4, 10), (7, 7), (0, −20). Пара (10, 10) даёт YES, потому что знак s >= 10 нестрогий, а пара (9, 11) — потому что 11 > 10. Ответ 3.
Типичные ошибки
- Путают строгое и нестрогое сравнение: при s > 8 пара с s = 8 не подходит.
- Проверяют «и» как «или»: засчитывают пару, у которой выполнена только одна часть условия.
- В задаче с параметром не отделяют пары, где ответ не зависит от A, и считают их дважды.
- Дают любое подходящее A, когда просят наименьшее или наибольшее.
Потренироваться на тренажёре
- Трассировка Python: выполнение программы по шагам
- Условия в Python: if, else и составные условия
- Тренажёр Python: задачи с проверкой
- Python для школьников: условия и ветвления
Частые вопросы
На каком языке будет программа в задании 6?
В демоверсии программа записана сразу на пяти языках: алгоритмическом языке, Паскале, Бейсике, Python и C++. Логика во всех записях одинаковая, читать можно на любом из них.
Нужно ли уметь программировать, чтобы решить задание 6?
Достаточно понимать условие if с операциями «и», «или» и знаки сравнения. Программа не запускается: каждую пару вы проверяете вручную.
Что делать, если подходящих значений A несколько?
Прочитайте вопрос: обычно просят наименьшее или наибольшее значение. Найдите промежуток подходящих A и возьмите нужный край.
Официальные материалы
- Демоверсия, спецификация и кодификатор ОГЭ 2027 по информатике (архив, проект)
- Открытый банк заданий ОГЭ
Другие задания
Все задания и структура экзамена — на странице ОГЭ по информатике. Соседние разборы: задание 5 и задание 7.
Описание задания сверено 28 сентября 2026 года со спецификацией 2027 года (документы 2027 года). Примеры составлены нами по структуре демоверсии, каждое решение запущено, и напечатанный им ответ совпадает с ответом на странице. Кодолимп не связан с разработчиками экзамена. Заметили неточность — напишите нам.