Логические выражения для ЕГЭ по информатике (Задание 15)
Задания: | N15.Логические выражения. Битовые операции | N15.Логические выражения. Графики | | N15.Логические выражения. Отрезки | | N15.Логические выражения. Множества | N15.Логические выражения. Смешанные операции |
1. Основные понятия
Задание 15 ЕГЭ по информатике проверяет умение работать с логическими выражениями, содержащими параметр. Требуется найти значение параметра (обычно A), при котором выражение тождественно истинно или тождественно ложно для всех значений переменной.
Типичная формулировка: "Для какого наименьшего (наибольшего) натурального значения А формула тождественно истинна?"
Важно: Внимательно читать условие - от этого зависит область определения переменной:
- "натуральное значение x" →
range(1, ...) - "неотрицательное целое значение x" →
range(0, ...) - "целое значение x" → обычно
range(0, ...)илиrange(-1000, 1000)
2. Логические операции
| Операция | Обозначение | Python | Когда истинно |
|---|---|---|---|
| Отрицание (НЕ) | ¬A, NOT A | not A |
Когда A = 0 |
| Конъюнкция (И) | A ∧ B, A AND B | A and B |
Только при A=1 и B=1 |
| Дизъюнкция (ИЛИ) | A ∨ B, A OR B | A or B |
Когда хотя бы одно = 1 |
| Импликация | A → B | A <= B или not A or B |
Ложь только при 1→0 |
| Эквиваленция | A ↔ B, A ≡ B | A == B |
Когда значения одинаковы |
Важно: В Python импликацию можно реализовать через оператор <=, так как False <= True = True, True <= False = False.
3. Преобразование логических выражений
3.1. Преобразование импликации
В Python: not A or B или A <= B
Пример:
В Python: not Del(x, 26) or Del(x, 13)
3.2. Законы де Моргана
| Закон | Формула |
|---|---|
| Отрицание конъюнкции | |
| Отрицание дизъюнкции |
Пример:
3.3. Отрицание импликации
Пример:
4. Общий алгоритм решения
Шаг 1: Внимательно прочитать условие
- Определить область определения переменной (натуральное/неотрицательное/целое)
- Выписать формулу
- Определить, что нужно найти (наименьшее/наибольшее A)
Шаг 2: Написать код
- Использовать вложенные циклы: внешний для A, внутренний для x
- Реализовать формулу через логические операции
- Не забыть про
elseиbreakдля циклов
Шаг 3: Запустить и проверить
- Проверить ответ на нескольких значениях x вручную
- Убедиться, что формула действительно истинна для всех x
5. Типы заданий задания 15
5.1. Арифметические операции
Характеристика: В выражениях используются арифметические операции (сложение, вычитание, умножение, сравнение).
Пример формулировки: "Для какого наибольшего целого неотрицательного числа А логическое выражение истинно при любых целых неотрицательных х и у?"
Особенности:
- Могут быть две переменные (x и y)
- Используются сравнения: `>, <, >=, <=, ==, !=
- Нужны вложенные циклы для всех переменных
Ссылка на подборку заданий: №15. Логические выражения. Арифметические операции
5.2. Битовые операции
Характеристика: В выражениях используется побитовая конъюнкция & (AND).
Пример формулировки: "Для какого наименьшего неотрицательного целого числа А формула тождественно истинна?"
Особенности:
- Используется операция
&(побитовая конъюнкция) - В Python:
x & число- побитовая операция над целыми числами - Проверяется равенство/неравенство нулю:
x & число == 0илиx & число != 0
Важно: Не путать & (побитовая операция) и and (логическая операция)!
Ссылка на подборку заданий: №15. Логические выражения. Битовые операции
5.3. Графики
Характеристика: В выражениях используются неравенства и сравнения, связанные с графиками функций или областями на числовой прямой.
Пример формулировки: "Для какого наименьшего целого неотрицательного числа А выражение тождественно истинно?"
Особенности:
- Используются сравнения:
>,<,>=,<= - Могут быть связаны с графиками функций
- Одна переменная x
Ссылка на подборку заданий: №15. Логические выражения. Графики
5.4. Множества
Характеристика: В выражениях используются операции над множествами: принадлежность (∈), не принадлежность (∉), пересечение, объединение.
Пример формулировки: "Элементами множеств А, P, Q являются натуральные числа. Известно, что выражение истинно при любом значении переменной х. Определите наименьшее возможное произведение элементов в множестве А."
Особенности:
- Множества задаются явно или через условия (кратные числа, суммы цифр и т.д.)
- В Python используются множества (
set()) и операцииin,not in - Могут потребоваться дополнительные вычисления (НОД, произведение и т.д.)
Ссылка на подборку заданий: №15. Логические выражения. Множества
5.5. Отрезки
Характеристика: На числовой прямой заданы отрезки (интервалы), нужно найти минимальную длину или другие характеристики отрезка A.
Пример формулировки: "На числовой прямой даны два отрезка: P = [117; 158] и Q = [129; 180]. Укажите наименьшую возможную длину такого отрезка А, что формула истинна при любом значении переменной х."
Особенности:
- Отрезки задаются как списки:
P = list(range(117, 158 + 1)) - Нужно найти элементы, которые должны быть в A
- Затем вычислить длину отрезка:
max(A) - min(A)
Ссылка на подборку заданий: №15. Логические выражения. Отрезки
5.6. Смешанные операции
Характеристика: В выражениях комбинируются различные типы операций: арифметические, битовые, множества, отрезки.
Пример формулировки: Задачи, в которых сочетаются несколько типов операций из предыдущих разделов.
Особенности:
- Требуется понимание всех предыдущих типов
- Могут быть сложные вложенные импликации
- Нужно аккуратно преобразовывать выражения
Ссылка на подборку заданий: №15. Логические выражения. Смешанные операции
6. Типичные ошибки и как их избежать
6.1. Неправильный диапазон для переменной
Проблема: Использование range(0, ...) когда в условии написано "натуральное x", или наоборот.
Решение:
- "натуральное" =
range(1, ...) - "неотрицательное целое" =
range(0, ...)
6.2. Забыли break после print
Проблема: При поиске наименьшего/наибольшего A забывают поставить break после print(A).
Решение: Всегда ставить break сразу после print(A).
6.3. Неправильное преобразование импликации
Проблема: Путают формулу: , пишут наоборот или забывают отрицание.
Решение:
- Запомнить: импликация ложна только при 1→0
- Формула: "не A или B" =
not A or B - В Python можно использовать
A <= B
6.4. Недостаточный диапазон для переменной
Проблема: Использование слишком маленького диапазона для x, пропуск значений, при которых выражение ложно.
Решение:
- Использовать
range(1, 10_000)илиrange(0, 10_000)минимум - Для сложных задач с большими числами - увеличить до 100_000
6.5. Неправильное направление поиска для наибольшего A
Проблема: Ищут наибольшее A, но используют range(1, 10_000) и не ставят break.
Решение:
- Для наибольшего:
range(10_000, 0, -1)- идём от большего к меньшему - Обязательно ставить
breakпосле первого найденного
8. Стратегия решения на экзамене
8.1. Время на задание 15
Рекомендуемое время: 8-12 минут (включая проверку)
Распределение:
- Чтение условия и преобразование: 2-3 минуты
- Написание кода: 3-4 минуты
- Запуск и проверка: 2-3 минуты
- Проверка на краевых случаях: 1-2 минуты
8.2. Алгоритм действий
- Прочитать условие внимательно: отметить область определения переменной
- Преобразовать выражение: убрать все импликации, применить де Моргана (опционально)
- Написать код: использовать шаблон, не забыть про диапазон и break
- Запустить: проверить ответ
- Проверить вручную: подставить найденное A в исходное выражение для нескольких x
8.3. Если не получается
- Проверьте преобразование импликации
- Проверьте диапазон переменной (0 vs 1)
- Увеличьте диапазон для x до 100_000
- Проверьте, правильно ли написан break
- Попробуйте метод с
all()- иногда он помогает найти ошибку
Составлено: Лилия С.
Источники: КИМ ЕГЭ 2026, открытый банк ФИПИ, спецификация ЕГЭ по информатике, яндекс учебник
Удачи на экзамене! 🎓