ОГЭ 2027 · Информатика
Задание 6 ОГЭ по информатике
Что проверяет линия, сколько она стоит, на чём теряют баллы и как решать — по нашим конспектам. В банке 50 заданий этой линии с разбором.
Аналитика ОГЭ: №6 (анализ программы, условный оператор)
- Баллы
- 1 первичный балл
- Частота
- в каждом варианте
Частые ловушки
- Неверно инвертируют условие: «NO» печатается, когда условие if ложно
- Путают строгие и нестрогие неравенства (> и ≥) при подсчёте
- Забывают, что нужно наибольшее (или наименьшее) значение параметра
Совет. Определи, при каком условии печатается нужное слово, инвертируй if, и перебирай параметр, считая совпадения
Разборы
Разбор примера
Задание 6: наибольшее A, при котором «NO» выводится 5 раз
Программа вводит три числа s, t, A и печатает «YES», если (s > A) или (t > 12), иначе «NO». Проведено 9 запусков с парами (s, t): (13, 2); (11, 12); (−12, 12); (2, −2); (−10, −10); (6, −5); (2, 8); (9, 10); (1, 13). Укажите наибольшее целое A, при котором программа напечатала «NO» ровно 5 раз.
Показать решение по шагам
- 1. Шаг 1 — когда печатается «NO»: условие соединено операцией
or, а «NO» выводится, когда обе части ложны, то есть s ≤ A и t ≤ 12 одновременно. - 2. Шаг 2 — отсекаем пары, которые «NO» не дадут никогда: смотрим вторые числа: 2, 12, 12, −2, −10, −5, 8, 10, 13. Больше 12 только 13, значит, пара (1, 13) при любом A печатает «YES» и в счёт «NO» не идёт. Остаётся 8 пар.
- 3. Шаг 3 — сортируем их первые числа: −12, −10, 2, 2, 6, 9, 11, 13. Нужно, чтобы ровно 5 из них оказались не больше A.
- 4. Шаг 4 — считаем: пятое число по возрастанию — это 6, шестое — 9. Значит, A должно быть не меньше 6 (чтобы вошли пять) и меньше 9 (чтобы не вошло шестое): подходят A = 6, 7, 8. Наибольшее — 8.
- 5. Шаг 5 — проверка границы двумя подстановками: при A = 8 не больше A числа −12, −10, 2, 2, 6 — ровно 5 «NO». При A = 9 добавляется число 9, и «NO» становится 6. Граница подтверждена.
- 6. Приём целиком: отбросить пары, решаемые частью без A; отсортировать остальные; найти нужное по счёту число. Перебирать все A подряд не нужно — ответ читается прямо из отсортированного ряда.
Ответ: 8
Разбор примера
Задание 6: сколько раз программа напечатает «YES» при заданном A
Та же программа: «YES», если (s > A) или (t > 10). Пары (s, t): (5, 3); (10, 20); (−2, 5); (7, 7); (3, 15); (8, 1); (−5, −5); (12, 2); (4, 13). Сколько раз будет напечатано «YES» при A = 7?
Показать решение по шагам
- 1. Проверяем каждую пару по очереди, помня, что
orдостаточно одной истинной части. - 2. (5, 3): 5 > 7 — нет; 3 > 10 — нет → NO. (10, 20): 10 > 7 — да → YES. (−2, 5): нет и нет → NO.
- 3. (7, 7): 7 > 7 — нет (строгое неравенство!); 7 > 10 — нет → NO. Это главная ловушка задания: равенство строгому неравенству не удовлетворяет.
- 4. (3, 15): 15 > 10 — да → YES. (8, 1): 8 > 7 — да → YES. (−5, −5): нет → NO.
- 5. (12, 2): 12 > 7 — да → YES. (4, 13): 13 > 10 — да → YES.
- 6. Итого 5 раз «YES». Проверка: 9 пар, из них 4 дали «NO» — сходится.
Ответ: 5
Разбор примера
Задание 6: условие с «и» вместо «или»
Программа печатает «YES», если (s > 5) и (t < 10), иначе «NO». Пары (s, t): (6, 3); (4, 3); (7, 12); (10, 9); (5, 5); (8, 10). Сколько раз будет напечатано «YES»?
Показать решение по шагам
- 1. С
andстроже: нужны обе части. - 2. (6, 3): 6 > 5 — да, 3 < 10 — да → YES. (4, 3): 4 > 5 — нет → NO (вторую часть можно уже не проверять).
- 3. (7, 12): 7 > 5 — да, но 12 < 10 — нет → NO. (10, 9): да и да → YES.
- 4. (5, 5): 5 > 5 — нет → NO. Снова граница строгого неравенства.
- 5. (8, 10): 8 > 5 — да, но 10 < 10 — нет → NO. Та же ловушка с другой стороны.
- 6. Итого 2 раза. Вывод: при
andбольшинство пар отсеиваются, приor— проходят. Поняв, какая операция в условии, уже можно прикинуть порядок ответа и заметить грубую ошибку.
Ответ: 2
Разбор примера
Файл-ответ proverka.py (формат задания 16): программа, перебирающая пары и значения A
Соберите программу, которая по списку пар считает, сколько раз печатается «YES» при каждом A, — чтобы проверять ответы линии 6. Файл сохраняется как proverka.py.
Показать решение по шагам
- 1. Замысел: внешний цикл идёт по значениям параметра A, внутренний — по парам; считаем, при каком A нужное число «YES» достигается.
- 2. Код целиком (Python):
pairs = [(13,2),(11,12),(-12,12),(2,-2),(-10,-10),(6,-5),(2,8),(9,10),(1,13)]/for A in range(-20, 21):/no = 0/for s, t in pairs:/if not (s > A or t > 12):/no = no + 1/if no == 5:/print(A). - 3. Что печатает: все значения A, при которых «NO» выводится ровно 5 раз, — для первого разбора это 6, 7 и 8. Наибольшее из напечатанных, 8, и есть ответ задания.
- 4. Зачем это нужно: линия 6 проверяется автоматически, но ручной перебор границы легко сбить. Программа находит все подходящие A сразу, и видно, где кончается диапазон.
- 5. Чему учит для задания 16: вложенным циклам, счётчику с нулевой инициализацией и отрицанию логического условия. Все три приёма входят в критерии линии 16.
- 6. Как сохранять: текстовый файл с расширением .py.
Ответ: proverka.py: вложенные циклы по A и по парам, печатает 6, 7 и 8
Разбор примера
Задание 6: трассировка цикла со счётчиком
Что напечатает программа? s = 0 / for i in range(1, 6): / s = s + i * i / print(s)
Показать решение по шагам
- 1. Что делает цикл: переменная i принимает значения от 1 до 5 (правая граница в range не включается — самая частая ошибка чтения такого кода).
- 2. Ведём трассировку по шагам: i = 1 → s = 0 + 1 = 1; i = 2 → s = 1 + 4 = 5; i = 3 → s = 5 + 9 = 14.
- 3. i = 4 → s = 14 + 16 = 30; i = 5 → s = 30 + 25 = 55.
- 4. Печатается 55 — сумма квадратов первых пяти натуральных чисел.
- 5. Как проверить себя: если бы range был (1, 6) включительно, добавилось бы 36 и вышло 91. Разница между 55 и 91 и есть цена одной невнимательности с границей.
Ответ: 55
Уроки по этой линии
- Задание 6: анализ программы с условным оператором
- Алгоритм и его свойства. Трассировка циклов — открыт бесплатно
- Основы программирования: переменные, деление нацело и остаток, циклы
Потренируй задание 6
Задания этой линии с проверкой и разбором решения — после бесплатной регистрации. Ошибки сами попадут в план повторения.