Рассмотрим, как решать задачу 6 в ОГЭ по информатике.
Условие задачи (ОГЭ 2025 года):
Ниже приведена программа, записанная на пяти языках программирования.
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(13, 2); (11, 12); (–12, 12); (2, –2); (–10, –10); (6, –5); (2, 8); (9, 10); (1, 13).
Укажите наименьшее целое значение параметра А, при котором для указанных входных данных программа напечатает «NO» восемь раз.
Требования к предметным результатам освоения основной образовательной программы: Формально исполнять алгоритмы, записанные на языке программирования
Примерное время выполнения задания (мин.) - 4
Для начала изучим, что делает наше программа. Рассмотрим для примера код на языке Python.
s = int(input())
t = int(input())
A = int(input())
if (s > A) or (t > 12):
print("YES")
else:
print("NO")
В данном программном коде используются следующие операторы:
- int(input())
- if ... else:
- print(...)
Операторы int(input()) вводят данные с клавиатуры и преобразуют их к целому типу (int).
Наша программа, соответственно, вводит три целых числа и присваивает их значениям переменных s, t. A.
Дальше проверяется условие:
if (s > A) or (t > 12), то есть условие (s > A) или (t > 12).
Если условие выполнилось - на экран выводится (с помощью оператора print) слово "YES", иначе выводится "NO".
Было проведено 9 запусков программ, где в качестве s и t вводились пары чисел (13, 2); (11, 12); (–12, 12); (2, –2); (–10, –10); (6, –5); (2, 8); (9, 10); (1, 13).
Требуется найти наименьшее целое значение параметра А, при котором эта программа напечатает «NO» восемь раз.
То есть фактически, нам надо найти А, для которого 8 раз (из 9 запусков программы с приведенными выше числами) будет не выполнено условие (s > A) или (t > 12).
Рассмотрим это подробнее. Нам надо проверять составное условие на ИЛИ для условий:
Когда выполнится условие (t > 12)? Учитываем, что использован знак "строго больше" (не включающий понятие "равно"):
Получаем, что из 9 запусков условие выполнено всего 1 раз, а 8 раз не выполнено.
По известным законам логики (законы де Моргана), существует логическое правило:
не (a или b) = (не a) и (не b)
Нам нужно определить, при каком минимальном А будет нарушено условие
s > A.
Проанализируем данные, расположенные в левом столбике таблицы.
Как видим из рисунка с запусками программы, самым минимальным А, при котором нарушается условие (s > A), будет 13.
По таблице истинности логических функций, составное выражение из двух условий (s > A) or (t > 12) даст нам значение ЛОЖЬ только если оба условия ложные.
При значении параметра А=13 будет получен именно нужный нам результат - на экран 8 раз будет выведено слово "NO" и 1 раз слово "YES".
Ответ задачи: 13
И теория. Основы программирования на языке Python
Python – один из наиболее распространенных языков программирования. Стандартная библиотека языка включает большой набор полезных функций, начиная от функционала для работы с текстом и заканчивая средствами для написания сетевых приложений.
Python поддерживает динамическую типизацию, то есть тип переменной определяется только во время исполнения. При этом поддерживаются различные типы данных, например:
int - целое число неограниченного размера.
float - число с плавающей точкой как форма представления вещественных (действительных) чисел.
Одной из интересных синтаксических особенностей языка является выделение блоков кода с помощью отступов (пробелов или табуляций), поэтому в Python отсутствуют операторные скобки begin/end, как в языке Паскаль, или фигурные скобки, как в Си.
Имя (идентификатор) переменной может начинаться с буквы или символа подчёркивания, после чего в имени можно использовать и цифры. При написании имен переменных различаются регистр букв.
Ввод и вывод данных
input() – ввод текстовых данных в программу. По умолчанию функция input() преобразует всю получаемую информацию в строку.
int() – используется, чтобы преобразовать текст (строку) из цифр в целое число.
Если нужно получить число с плавающей точкой (не целое), то его можно получить с помощью функции float().
print() – вывод данных.
Вычисления и использование математических операций
Для чисел определены операции:
+ (сложение),
- (вычитание),
* (умножение),
/ (деление),
// (целочисленное деление),
% (остаток от деления),
** (возведение в степень).
Кроме основных операций (+, -, *, /) в Python также имеется операция целочисленного деления, выполняющегося с отбрасыванием дробной части, которая обозначается //. Она возвращает целую часть частного.
Также есть операция взятия остатка от деления, обозначаемая %.
Оператор ветвления if
Для организации ветвления используется оператор if (условный оператор).
Его полный вид:
if условие:
(отступы) оператор 1
else:
(отступы) оператор 2
После слова if указывается проверяемое условие, завершающееся двоеточием. После этого идет оператор 1, который будет выполнен, если условие истинно. Затем идет слово else (иначе), также завершающееся двоеточием, и оператор 2, который будет выполнен, если проверяемое условие неверно.
Для выделения блока операторов, относящихся к if или else, используются отступы.
Все операторы, которые относятся к одному блоку, должны иметь равную величину отступа, то есть одинаковое число пробелов в начале строки. Рекомендуется использовать отступ в 4 пробела.
Также допускается сокращенная форма оператора if (без части else).
Операторы сравнения:
< Меньше;
> Больше;
<= Меньше или равно;
>= Больше или равно;
== Равенство;
!= Неравенство.
В Python существуют стандартные логические операторы: логическое И, логическое ИЛИ, логическое отрицание НЕ.
and – «и»;
or – «или»;
not – «не».
Видео по задаче: