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