Статья Автор: Деникина Н.В., Деникин А.В.

ОГЭ - вопрос № 6. Задание без параметра. Разбор

Разбор программы без параметра

Задача

Программа читает два целых числа построчно и печатает YES, если хотя бы одно из условий выполняется, иначе NO.


s = int(input())
t = int(input())
if (s > 10) or (t > 5):
    print("YES")
else:
    print("NO")

Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(s, t): (11,0), (10,6), (5,5), (9,4), (12,7), (10,5), (0,6), (3,1), (15,0)
Всего было проведено 9 запусков. Сколько раз было напечатано слово "YES"?

Схема работы программы

Ввод: s, t (s > 10) or (t > 5) достаточно одного истинного YES NO True False


Подсказка: сначала вычислите истину/ложь для «s>10» и «t>5», затем объедините через «or».

Таблица протоколирования

Для облегчения решения заполните таблицу для всех 9 запусков
s t s > 10 t > 5 (s>10) or (t>5)
(истина, если выполняется хотя бы одно)
Вывод
1 11 0 + - Истина YES
2 10 6 - + Истина YES
3 5 5 - - Ложь NO
4 9 4 - - Ложь NO
5 12 7 + + Истина YES
6 10 5 - - Ложь NO
7 0 6 - + Истина YES
8 3 1 - - Ложь NO
9 15 0 + - Истина YES

Ответ

Программа выыведет YES 5 раз.
Программа выведет NO 4 раза (9-5 = 4)


Вывод

Главный принцип: считайте подусловия отдельно, помните, что «or» означает «хватает одного истинного», «and» — «нужны оба»,
при if/elif/else срабатывает первая истинная ветка.
Если нужно посчитать количество раз когда программа выводит NO, иногда удобнее посчитать сколько раз выводится YES и затем отнять получившийся ответ от количества запусков

Печать