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