Задание №6 — Алгоритмы и программирование
Ниже приведена программа, записанная на пяти языках программирования.
Алгоритмический язык | Паскаль |
алг нач цел s, t, A ввод s ввод t ввод A если s > 10 или t > А то вывод "YES" иначе вывод "NO" все кон | var s, t, A: integer; begin readln(s); readln(t); readln(A); if (s > 10) or (t > А) then writeln('YES') else writeln('NO') end. |
Бейсик | Python |
DIM s, t, A AS INTEGER INPUT s INPUT t INPUT A IF s > 10 OR t > А THEN PRINT "YES" ELSE PRINT "NO" ENDIF | s = int(input()) t = int(input()) A = int(input()) if (s > 10) or (t > А): print("YES") else: print("NO") |
C++ | |
#include <iostream> using namespace std; int main(){ int s, t, A; cin >> s; cin >> t; cin >> A; if (s > 10 || t > А) cout << "YES" << endl; else cout <<"NO"<< endl; return 0; } | |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(1, 2); (11, 2); (1, 12); (11, 12); (–11, –12); (–11, 12); (–12, 11); (10, 10); (10, 5).
Укажите количество целых значений параметра А, при которых для указанных входных данных программа напечатает «NO» три раза.
Правильный ответ
5
Пояснение
Решение.
Разберём условие задачи. Программа выводит «YES», если выполняется хотя бы одно из двух условий: или . В противном случае программа выводит «NO».
Следовательно, программа выводит «NO», когда оба условия ложны одновременно. Это происходит при выполнении системы неравенств:
Нам дано 9 пар чисел . Проверим для каждой пары первое условие :
1) : — Истина.
2) : — Ложь. (Эта пара всегда даст «YES», так как ).
3) : — Истина.
4) : — Ложь. (Эта пара всегда даст «YES»).
5) : — Истина.
6) : — Истина.
7) : — Истина.
8) : — Истина.
9) : — Истина.
Мы видим, что пары №2 и №4 при любом выведут «YES». Остаётся 7 пар, которые могут вывести «NO», если для них выполнится условие . Выпишем значения для этих семи пар:
Упорядочим эти значения по возрастанию:
Чтобы программа вывела «NO» ровно 3 раза, ровно три значения из этого списка должны быть меньше или равны .
Первые три значения: .
Четвёртое значение: .
Следовательно, число должно быть таким, чтобы оно было больше или равно 5, но строго меньше 10:
Перечислим целые значения , удовлетворяющие этому промежутку:
Количество таких значений равно .
Ответ: 5
Источник: ФИПИ