Задание 6. Программа с условным оператором — теория и разбор
Совет: выделите текст, чтобы спросить у ИИ, или наведите (на телефоне — тапните) на подчёркнутое слово — увидите подсказку.
Задание 6. Программа с условным оператором — теория и разбор
Задание 6 ОГЭ по информатике выглядит пугающе из-за кода, но на самом деле проверяет только одно умение: аккуратно подставить числа в условие и не перепутать «И» с «ИЛИ». Программа всегда короткая — два введённых числа, одно ветвление, два возможных ответа.
Что нужно знать
В задании дают программу на одном или сразу нескольких языках (Python, Pascal, C++) и вдобавок — запись на школьном алгоритмическом языке (Алг/КуМир). Это одна и та же логика, просто в разном синтаксисе, поэтому достаточно понимать любой из вариантов.
Стандартная форма программы:
a = int(input())
b = int(input())
if <условие с a и b>:
print("YES")
else:
print("NO")
Условный оператор (if) проверяет логическое выражение и выбирает одну из двух веток: если выражение истинно — выполняется YES-ветка, если ложно — NO-ветка.
Почти всегда условие — это не одно сравнение, а два, соединённые логической операцией:
- логическое И (
and/и) — результат истинен, только если оба сравнения истинны; - логическое ИЛИ (
or/или) — результат истинен, если истинно хотя бы одно из сравнений.
Дальше в условии задачи дают список из нескольких пар чисел («запусков программы») и просят посчитать, сколько раз программа напечатала YES. Это значит: подставить каждую пару в условие по очереди и отдельно проверить оба сравнения.
Единственная реальная ошибка в этом задании — перепутать И и ИЛИ: с «И» надо требовать выполнения обоих условий, а с «ИЛИ» достаточно одного, и именно на этом строятся неправильные ответы в вариантах.
Правило проверки одной пары: распишите оба сравнения по отдельности (истина/ложь), и только потом соедините их операцией — никогда не пытайтесь оценить составное условие «в уме» одним взглядом.
Разбор примера
Дана программа:
a = int(input())
b = int(input())
if a > 7 and b < 3:
print("YES")
else:
print("NO")
var a, b: integer;
begin
readln(a);
readln(b);
if (a > 7) and (b < 3)
then writeln('YES')
else writeln('NO')
end.
Было проведено 9 запусков программы с парами значений (a, b):
(10, 1); (5, 1); (8, 5); (8, 2); (−3, −5); (20, 0); (7, 1); (9, 3); (100, −100).
Сколько было запусков, при которых программа напечатала «YES»?
Как думать. Условие a > 7 and b < 3 — это «И», значит нужны оба признака сразу: число a строго больше 7, и одновременно число b строго меньше 3. Проверяем каждую пару по отдельности и не торопимся.
Показать решение и ответ
Проверяем каждую пару: сначала a > 7, потом b < 3, и только если оба — «да», пишем YES.
| Пара | a > 7 | b < 3 | Результат |
|---|---|---|---|
| (10, 1) | да | да | YES |
| (5, 1) | нет | — | NO |
| (8, 5) | да | нет | NO |
| (8, 2) | да | да | YES |
| (−3, −5) | нет | — | NO |
| (20, 0) | да | да | YES |
| (7, 1) | нет (7 не больше 7) | — | NO |
| (9, 3) | да | нет (3 не меньше 3) | NO |
| (100, −100) | да | да | YES |
Ловушка задачи — пары (7, 1) и (9, 3): условия «строго больше» и «строго меньше» не выполняются для равных границе чисел (7 и 3 соответственно), поэтому обе пары дают NO, хотя выглядят «почти подходящими».
Считаем YES: (10,1), (8,2), (20,0), (100,−100) — четыре запуска.
Ответ: 4
Как решить в Python
Если под рукой есть Python, задачу проще не трассировать вручную, а посчитать программно — заодно это способ проверить себя:
pairs = [(10, 1), (5, 1), (8, 5), (8, 2), (-3, -5),
(20, 0), (7, 1), (9, 3), (100, -100)]
yes_count = 0
for a, b in pairs:
if a > 7 and b < 3:
yes_count += 1
print(yes_count) # 4
Такой код за секунду проверяет любое количество пар и любое условие — достаточно поменять список pairs и строку с if. На экзамене компьютера с Python может не быть, но проговорить код «по шагам» — тот же способ мышления, что и ручная трассировка.
Похожие материалы
Программа с условием: тренажёр
Шесть листов с задачами на анализ программы с условным оператором (программа на 5 языках: алгоритмический язык, Паскаль, Бейсик, Python, C++) для задания 6 ОГЭ по информатике. Материалы: ФИПИ, открытый банк заданий.
Анализ программы с условным оператором: сборник задач
Шесть листов с задачами на определение результата работы программы с условным оператором для задания 6 ОГЭ по информатике. Материалы: ФИПИ, открытый банк заданий.
Задание 16. Программирование на языке программирования — теория и разбор
Типовой шаблон решения: цикл + условие делимости + счётчик — разбор примера на Python и Паскале.
Задание 15. Алгоритм для исполнителя Робот — теория и разбор
Команды Робота, циклы «пока свободно» и алгоритм, работающий для поля любого размера — разбор примера и проверка в Python.
Задание 14. Обработка данных в электронной таблице — теория и разбор
СЧЁТЕСЛИ, СУММЕСЛИ и круговая диаграмма для большого массива данных — разбор примера и проверка в Python.
Задание 13.2. Создание текстового документа — теория и разбор
13.2 Текстовый документ
Критерии оценивания текста и таблицы по образцу: отступы, выравнивание, формат файла — разбор примера и чек-лист.