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