Теория:

Характеристика задания
 
1. Тип ответа: числовой/буквенный.
2. Структура содержания задания: дана программа на нескольких языках программирования, нужно проанализировать её и ответить на поставленный вопрос.
3. Уровень сложности: базовый.
4. Примерное время выполнения: \(4\) минуты.
5. Количество баллов: \(1\).
6. Требуется специальное программное обеспечение: нет.
7. Задание проверяет умение анализировать программу на одном из языков программирования, содержащую условный оператор и логические операции.
 
Пример задания из демоверсии ОГЭ-\(2024\)
 
Ниже приведена программа, записанная на пяти языках программирования.
 
Алгоритмический язык

алг
нач
цел s, t
ввод s
ввод t
если s \(>\) \(10\) или t \(>\) \(10\)
то вывод ′YES′
иначе вывод ′NO′
все
кон
Паскаль
 
var s, t: integer;
begin
readln(s);
readln(t);
if (s \(> \) \(10\)) or (t \(> \) \(10\))
 then
writeln(′YES′)
 else
writeln(′NO′)
end
Бейсик

DIM s, t AS INTEGER
INPUT s
INPUT t
IF s \(>\) \(10\) OR t \(>\) \(10\) THEN
 PRINT ′YES′
ELSE
 PRINT ′NO′
ENDIF
 
 
Python
  
s \(=\) int(input())
t \(=\) int(input())
if (s \(>\) \(10\)) or (t \(>\) \(10\)):
 print(′YES′)
else:
 print(′NO′)
 
 
 
 
 
 
 
C\(++ \)
 
#include <iostream>
using namespace std;
int main(){
 int s, t;
 cin \(>>\) s;
 cin \(>>\) t;
 if (s \(>\) \(10\) || t \(>\) \(10\))
 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)\).
\( \)
Сколько было запусков, при которых программа напечатала «YES»?
 
Решение
  
Из текста программы мы видим, что программа печатает «YES» всякий раз, когда выполняется условие:
  
\(s\) \(>\) \(10\) или \(t\) \(>\) \(10\).
  
Чтобы не запутаться в условии, составим таблицу, куда занесём все вводимые данные, и заполним её как таблицу истинности для логической операции «ИЛИ»:
 
\((s, t)\)
\(s\) \(> 10\)
\(t\) \(> 10\)
ИЛИ
\((1, 2)\)
\((11, 2)\)
\((1, 12)\)
\((11, 12)\)
\((-11, -12)\)
\((-11, 12)\)
\((-12, 11)\)
\((10, 10)\)
\((10, 5)\)
\(0\)
\(1\)
\(0\)
\(1\)
\(0\)
\(0\)
\(0\)
\(0\)
\(0\)
\(0\)
\(0\)
\(1\)
\(1\)
\(0\)
\(1\)
\(1\)
\(0\)
\(0\)
\(0\)
\(1\)
\(1\)
\(1\)
\(0\)
\(1\)
\(1\)
\(0\)
\(0\)
 
Теперь не трудно ответить на вопрос этого задания. Так как нас спрашивают, сколько раз программа напечатала «YES», а мы знаем, что «YES» программа печатала только в случае выполнения условия условного оператора, то для этого нам достаточно посчитать количество единиц в последнем столбце нашей таблицы.
 
Правильный ответ: \(5\).
 
• В условии задачи переменные \((s, t)\) могут вводиться в обратном порядке. Всегда проверяем, чтобы ввод \(s\), ввод \(t\) в самой программе совпадали с порядком переменных в задании: «...вводились следующие пары чисел \((s, t)\)».

• Обращаем внимание на знаки неравенств — включены ли границы интервалов? В нашем примере \(10\) не удовлетворяет условию \(s\) \(> 10\), так как неравенство строгое.
 
• При ответе на вопрос «Сколько раз программа напечатала «Да»?» считаем количество \(1\) в нашей таблице.
 
• При ответе на вопрос «Сколько раз программа напечатала «Нет»?» считаем количество \(0\).
 
• В этой задаче в условии могут встречаться операции DIV — целочисленное деление — и MOD — остаток от деления.