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