Ниже приведена программа, записанная на пяти языках программирования.
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(–5, –2); (5, 3); (–14, 3); (–12, 5), (5, –7); (10, 3); (–4, 3); (3, 0); (–4, 9).
Сколько было запусков, при которых программа напечатала «NO»?
РЕШЕНИЕ
Определим, что же делает программа. Рассмотрим алгоритмический язык.
если не (s < -4 и t >= 3)
то вывод "YES"
иначе вывод "NO"
все
Имеем условие : не (s < -4 и t >= 3)
По формуле инверсии уберем отрицание: s >= -4 или t < 3
Если выполняется хотя бы одно неравенство, результатом будет "YES", если не выполняется, то "NO".
Определим что будет печатать программа для всех значений s и t данных в условиях программы.
1) (–5, –2)
-5 >= -4 или -2 < 3
Второе неравенство истинно, результат "YES"
2) (5, 3)
5 >= -4 или 3 < 3
Первое неравенство истинно, результат "YES"
3) (–14, 3)
-14 >= -4 или 3 < 3
Оба неравенства ложны, результат "NO"
4) (–12, 5)
-12 >= -4 или 5 < 3
Оба неравенства ложны, результат "NO"
5) (5, –7)
5 >= -4 или -7 < 3
Оба неравенство истины, результат "YES"
6) (10, 3)
10 >= -4 или 3 < 3
Первое неравенство истинно, результат "YES"
7) (–4, 3)
-4 >= -4 или 3 < 3
Первое неравенство истинно, результат "YES"
8) (3, 0)
3 >= -4 или 0 < 3
Оба неравенство истины, результат "YES"
9) (–4, 9).
-4 >= -4 или 9 < 3
Первое неравенство истинно, результат "YES"
Программа напечатает «NO» 2 раза.
ОТВЕТ 2