А
Информатика·11 класскод 1.5·10 мин

Алгебра логики: таблицы истинности и логические уравнения

Импликация, эквивалентность, приоритет операций и приём перебора на Python для заданий 2 и 15.

Тренировать тему

Задание 2 требует восстановить соответствие столбцов таблицы истинности переменным, задание 15 — найти границу параметра A. Оба надёжно решаются перебором на Python, но проверяющий человек — вы, поэтому таблицу базовых операций надо знать наизусть.

Приоритет и ключевые операции

Порядок выполнения: отрицание ¬, конъюнкция ∧ (&), дизъюнкция ∨ (|), импликация →, эквивалентность ≡. Импликация A → B ложна в единственном случае: A истинно, B ложно. Эквивалентность A ≡ B истинна, когда значения совпадают. Импликацию всегда можно заменить: A → B = ¬A ∨ B.

Таблица истинности всех операций ЕГЭ

AB¬AA ∧ BA ∨ BA → BA ≡ B
0010011
0110110
1000100
1101111
Разбор формулы (x ∧ ¬y) ∨ (y ≡ z)
x¬y
yz
Дерево задаёт порядок вычислений и показывает, где нужны скобки.
Схема решения задания 15
Убрать импликацию
A → B заменить на ¬A ∨ B
Переписать условие
Выражение должно быть истинно при любом x
Найти, когда оно ложно
Это даёт запрещённую область
Потребовать пустоту
Запрещённая область не должна существовать
Взять крайнее значение
Наименьшее или наибольшее по условию
Работает и для отрезков на числовой прямой, и для битовых масок.
Задание 2 и задание 15 — разные приёмы
Задание 2
  • ·Дана часть таблицы истинности
  • ·Перебираем все 2^n наборов
  • ·Ищем строки, где выражение истинно (или ложно)
  • ·Сопоставляем столбцы переменным
  • ·Ответ — последовательность букв
Задание 15
  • ·Есть числовой параметр A
  • ·Условие: тождественная истинность
  • ·Ищем границу через отрицание
  • ·Перебор A в диапазоне на Python
  • ·Ответ — одно число
Не переносите метод одного на другое.
Задание 2 ЕГЭ

Условие: логическая функция F задана выражением (x ∧ ¬y) ∨ (y ≡ z). Дан фрагмент таблицы истинности, в котором столбцы переменных переставлены и обозначены как Перем.1, Перем.2, Перем.3. Определите, какому столбцу соответствует каждая переменная. Метод. Строим полную таблицу перебором и сравниваем с фрагментом: from itertools import product for x, y, z in product([0,1], repeat=3): F = (x and not y) or (y == z) if not F: print(x, y, z) Выражение ложно только для наборов, где x = 0 и y ≠ z: это (0,0,1) и (0,1,0). Если во фрагменте строки со значением F = 0 имеют вид (0,1,0) и (0,0,1) в порядке столбцов Перем.1, Перем.2, Перем.3, то Перем.1 = x, Перем.2 = y, Перем.3 = z. В бланк: xyz (буквы подряд, в порядке столбцов, без пробелов)

Задание 15 ЕГЭ

Условие: определите наименьшее натуральное число A, при котором выражение (x > 20) ∨ (y > 20) ∨ (x + y < A) истинно при любых натуральных x и y. Решение. 1) Выражение ложно, когда ложны все три части одновременно: x ≤ 20, y ≤ 20 и x + y ≥ A. 2) Чтобы выражение было истинно всегда, такая ситуация должна быть невозможна. При x ≤ 20 и y ≤ 20 максимум суммы равен 20 + 20 = 40. 3) Значит требуется 40 < A, то есть A ≥ 41. 4) Наименьшее натуральное значение — 41. Проверка перебором: for A in range(1, 60): if all((x > 20) or (y > 20) or (x + y < A) for x in range(1, 41) for y in range(1, 41)): print(A); break В бланк: 41

Ловушка: импликация и слово «наименьшее»

Импликация несимметрична: A → B и B → A — разные функции. Запомните единственную ложную строку: 1 → 0. Вторая ловушка — граничные значения. Если получено условие A > 40, то наименьшее натуральное A равно 41, а не 40; если A ≥ 40, то 40. Всегда проверяйте найденное значение и соседнее с ним подстановкой. Третья ловушка — «натуральное» число начинается с 1, а «целое неотрицательное» — с 0.

Контроль решения
  • Приоритет операций соблюдён: ¬, ∧, ∨, →, ≡
  • Импликация проверена по правилу «ложна только при 1 → 0»
  • В задании 2 перебраны все 2^n наборов переменных
  • В задании 15 рассмотрено отрицание условия
  • Найденная граница и соседнее значение проверены подстановкой
  • Уточнено, натуральные или целые числа рассматриваются
  • Ответ записан без пробелов: последовательность букв или одно число