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



