Решение: Проверка логического условия
Ниже приведена программа, записанная на пяти языках программирования. Условие вывода «YES» имеет вид: $s > -3$ и не $(t > 5)$. Было проведено 9 запусков программы, при которых в качестве значений переменных $s$ и $t$ вводились пары чисел: $(-3, 5)$; $(-2, 2)$; $(-1, -3)$; $(1, 0)$; $(-4, -7)$; $(2, 3)$; $(3, 5)$; $(5, -3)$; $(6, -7)$. Сколько было запусков, при которых программа напечатала «NO»?
Решение по шагам
3 шагаЛогическое выражение $\mathrm{not}(t > 5)$ равносильно условию $t \leq 5$. Поэтому «YES» выводится, когда одновременно выполняются условия $s > -3$ и $t \leq 5$.
$$s > -3 \land t \leq 5$$Проверим пары, для которых условие не выполняется. В паре $(-3, 5)$ условие $s > -3$ ложно. В паре $(-4, -7)$ условие $s > -3$ также ложно.
Для остальных семи пар оба условия выполняются, поэтому программа печатает «YES». Значит, «NO» напечатано в двух запусках.
$$9 - 7 = 2$$Где здесь ошибаются
Считать, что условие $\mathrm{not}(t > 5)$ означает $t > 5$, а не $t \leq 5$.
Не учитывать строгость неравенства $s > -3$: значение $s = -3$ условию не удовлетворяет.