Задание 3 ОГЭ по информатике: решайте с автопроверкой
В задании 3 дано высказывание о числе x с операциями НЕ, И, ИЛИ. Нужно найти наименьшее или наибольшее x, при котором оно истинно или ложно, или посчитать подходящие x.
Решать задачи номераКак решать программой
Руками задачу решают, упрощая высказывание: НЕ (x < a) — это x ≥ a. Программа решает её перебором x по возрастанию с проверкой высказывания, записанного почти дословно.
В Python «НЕ» — это not, «И» — это and, «ИЛИ» — это or. Скобки ставьте так же, как в условии: not слабее сравнений, но сильнее and и or, поэтому not x < a означает not (x < a).
Для наименьшего x берите первый подходящий в цикле по возрастанию, для наибольшего перебирайте по убыванию или запоминайте последний подходящий.
Если нужно посчитать подходящие x, замените min на sum(1 for x in ...). Если спрашивают о наибольшем x, при котором высказывание ложно, используйте max и поставьте not перед всем высказыванием.
Разбор примера
Высказывание НЕ (x < 12) И НЕ (x делится на 4). Найдём наименьшее x от 1 до 50, при котором оно истинно.
a = 12
print(min(x for x in range(1, 51) if not (x < a) and not (x % 4 == 0)))Программа печатает
13
Числа от 1 до 11 не подходят: для них x < 12. Число 12 делится на 4 и тоже не подходит. Первое подходящее 13.
Решить эту задачуЗадачи к заданию 3
- Наименьшее x для высказыванияЛёгкаяРешать
- Наибольшее x, где высказывание ложноЛёгкаяРешать
- Сколько x делают высказывание истиннымЛёгкаяРешать
- Высказывание о цифрах числаЛёгкаяРешать
- Первое подходящее названиеЛёгкаяРешать
- Квадрат числа в высказыванииЛёгкаяРешать
Бесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).
Вопросы и ответы
- Как упростить НЕ (x < a)?
- Это то же, что x ≥ a. Отрицание меняет знак сравнения на противоположный.
- Что значит «x делится на 4» в программе?
- x % 4 == 0: остаток от деления равен нулю.
- Как проверить высказывание о цифрах числа?
- Возьмите последнюю цифру как x % 10, первую цифру двузначного числа как x // 10.
- Почему программа даёт другой ответ, чем я руками?
- Проверьте отрицания и скобки. Чаще всего ошибка в том, что not стоит не перед тем выражением или перепутаны строгое и нестрогое сравнение.