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



