Ниже приведена программа, записанная на пяти языках программирования.
| Бейсик | Python |
|---|---|
DIM s, t AS INTEGER INPUT s INPUT t IF s < 4 OR t < 4 THEN PRINT ‘YES’ ELSE PRINT ‘NO’ ENDIF | s = int(input()) t = int(input()) if s < 4 or t < 4: print("YES") else: print("NO") |
| Паскаль | Алгоритмический язык |
var s, t: integer; begin readln(s); readln(t); if (s < 4) or (t < 4) then writeln('YES') else writeln('NO') end. | алг нач цел s, t ввод s ввод t если s < 4 или t < 4 то вывод "YES" иначе вывод "NO" все кон |
| С++ | |
#include <iostream> using namespace std; int main() { int s, t; cin >> s; cin >> t; if (s < 4 || t < 4) cout << "YES"; else cout << "NO"; return 0; } | |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(3, 4); (5, 4); (–2, 1); (5, 6); (7, 8); (–5, 5); (–2, 2); (4, 3); (3, –8).
Сколько было запусков, при которых программа напечатала «NO»?
Заметим, что программа напечатает «NO», если обе введенные переменные s и t будут больше или равны 4. Значит, было 3 запуска, при которых программа напечатала «NO». В качестве значений переменных s и t в этих случаях вводились следующие пары чисел:
(5, 4); (5, 6); (7, 8).
Ответ: 3.
Примечание.
1. Дизъюнкция (логическое сложение, объединение) — or. Выражение a or b дает значение false только в том случае, если a и b имеют значение false. Во всех остальных случаях результат — true.
2. Другой способ решения и правила замены логических условий на противоположные приведены в задании 10955.
Приведем другое решение на языке Python.
def f(s, t):
if s < 4 or t < 4:
return 0
else:
return 1
a = ((3, 4), (5, 4), (-2, 1), (5, 6), (7, 8), (-5, 5), (-2, 2), (4, 3), (3, -8))
kol = 0
for i in range(9):
kol += f(a[i][0], a[i][1])
print(kol)



