Решение: Проверка логического условия
Программа получает значения переменных $s$ и $t$ и печатает «YES», если выполняется условие $\mathrm{not}(s > -4) \ \mathrm{or}\ (t < 3)$, иначе печатает «NO». Были выполнены 9 запусков программы со следующими парами значений: $(2, -2)$; $(5, 3)$; $(14, 1)$; $(-12, 5)$; $(5, 7)$; $(10, 3)$; $(8, 2)$; $(3, 0)$; $(-4, 9)$. Сколько было запусков, при которых программа напечатала «YES»?
Решение по шагам
4 шагаПреобразуем отрицание неравенства: условие $\mathrm{not}(s > -4)$ выполняется при $s \leq -4$.
Следовательно, программа печатает «YES», если выполняется хотя бы одно из условий: $s \leq -4$ или $t < 3$.
$$s \leq -4 \ \mathrm{or}\ t < 3$$Проверяем пары: $(2, -2)$ — YES; $(5, 3)$ — NO; $(14, 1)$ — YES; $(-12, 5)$ — YES; $(5, 7)$ — NO; $(10, 3)$ — NO; $(8, 2)$ — YES; $(3, 0)$ — YES; $(-4, 9)$ — YES.
Подсчитываем количество запусков с результатом «YES»:
$$1 + 1 + 1 + 1 + 1 + 1 = 6$$Где здесь ошибаются
Неверно преобразуют условие $\mathrm{not}(s > -4)$ и считают его истинным при $s > -4$.
Забывают, что оператор «или» требует выполнения хотя бы одного из двух условий.
Считают условие $t < 3$ истинным при $t = 3$.