Построение и проверка таблиц истинности

Иван Корнев·27.05.2026·5 мин

Таблица истинности — это инструмент, который показывает, при каких комбинациях значений переменных сложное логическое выражение будет истинным (1) или ложным (0). Чтобы составить её, нужно определить количество переменных $n$, создать $2^n$ строк для всех возможных комбинаций и последовательно вычислить значения промежуточных операций согласно приоритету действий.

Этот метод используется в программировании, проектировании цифровых схем и математической логике для проверки корректности алгоритмов и упрощения формул.

Ключевое правило: Количество строк в таблице всегда равно $2^n$, где $n$ — количество уникальных логических переменных. Для 3 переменных это 8 строк, для 4 — 16.

Основные логические операции

Прежде чем строить таблицу для сложного выражения, необходимо знать таблицы истинности базовых операций. В информатике истину обычно обозначают как 1 (или T), а ложь — как 0 (или F).

Отрицание (NOT, НЕ)

Инверсия значения. Если утверждение истинно, его отрицание ложно, и наоборот. Обозначения: $\neg A$, $\bar{A}$, !A, NOT A.

A$\neg A$
01
10

Конъюнкция (AND, И)

Логическое умножение. Результат истинен только тогда, когда оба операнда истинны. Обозначения: $A \land B$, $A & B$, A AND B.

AB$A \land B$
000
010
100
111

Дизъюнкция (OR, ИЛИ)

Логическое сложение. Результат истинен, если хотя бы один из операндов истинен. Обозначения: $A \lor B$, A OR B, A || B.

AB$A \lor B$
000
011
101
111

Импликация (IF...THEN, ЕСЛИ...ТО)

Логическое следование. Выражение ложно только в одном случае: когда из истины следует ложь. Во всех остальных случаях оно истинно. Обозначения: $A \to B$, $A \Rightarrow B$.

AB$A \to B$
001
011
100
111

Как запомнить импликацию: «Ложь не может следовать из истины». Если посылка ($A$) ложна, то об истинности заключения ($B$) мы ничего сказать не можем, поэтому вся конструкция считается истинной (вакуумная истина).

Эквивалентность (IFF, ТОГДА И ТОЛЬКО ТОГДА)

Равносильность. Истинна, когда значения операндов совпадают. Обозначения: $A \leftrightarrow B$, $A \equiv B$, A == B.

AB$A \leftrightarrow B$
001
010
100
111

Алгоритм построения таблицы истинности

Чтобы избежать ошибок при работе со сложными формулами, следуйте строгому порядку действий.

Шаг 1. Определение количества строк

Посчитайте количество уникальных переменных ($n$). Рассчитайте количество строк по формуле $N = 2^n$.

  • Пример: для выражения $(A \land B) \to C$ переменных три ($A, B, C$), значит, строк будет $2^3 = 8$.

Шаг 2. Заполнение столбцов переменных

Создайте столбцы для всех переменных. Заполните их значениями по стандартному шаблону, чтобы не пропустить ни одну комбинацию:

  • Последний столбец (последняя переменная) чередуется: 0, 1, 0, 1...
  • Предпоследний столбец меняется каждые 2 строки: 0, 0, 1, 1...
  • Третий с конца — каждые 4 строки: 0, 0, 0, 0, 1, 1, 1, 1...

Шаг 3. Определение порядка операций

Укажите приоритет выполнения логических операций. Стандартный порядок (от высшего к низшему):

  1. Действия в скобках.
  2. Отрицание ($\neg$).
  3. Конъюнкция ($\land$).
  4. Дизъюнкция ($\lor$).
  5. Импликация ($\to$).
  6. Эквивалентность ($\leftrightarrow$).

Добавьте в таблицу промежуточные столбцы для каждой операции в порядке её вычисления.

Шаг 4. Последовательное вычисление

Заполняйте столбцы слева направо, опираясь на значения предыдущих столбцов.

Практический пример

Построим таблицу истинности для выражения: $F = (A \lor B) \land \neg C$

  1. Переменные: $A, B, C$ ($n=3$, строк=8).
  2. Операции:
    • 1: $A \lor B$ (в скобках)
    • 2: $\neg C$ (отрицание)
    • 3: Результат 1 $\land$ Результат 2 (конъюнкция)
ABC1. $A \lor B$2. $\neg C$F
1000010
2001000
3010111
4011100
5100111
6101100
7110111
8111100

Вывод: Выражение истинно только в тех случаях, когда $C$ ложно, а хотя бы одна из переменных $A$ или $B$ истинна.

Частые ошибки при составлении

  • Неверный порядок заполнения переменных. Хаотичное заполнение 0 и 1 приводит к пропуску комбинаций или дублированию. Используйте шаблон «через степень двойки».
  • Ошибка в импликации. Самая распространенная ошибка — считать, что импликация ложна, когда ложна посылка ($0 \to 0 = 1$, а не 0).
  • Игнорирование приоритета операций. Без скобок конъюнкция выполняется раньше дизъюнкции. Например, $A \lor B \land C$ читается как $A \lor (B \land C)$, а не $(A \lor B) \land C$.
  • Пропуск промежуточных столбцов. Попытка вычислить всё в уме для выражений с 3+ переменными почти гарантированно приведет к ошибке.

FAQ

Зачем нужны таблицы истинности в программировании? Они помогают упрощать сложные условия в if statements. Если таблица показывает, что результат всегда одинаков при определенных входных данных, код можно оптимизировать, убрав лишние проверки.

Можно ли построить таблицу для 5 и более переменных? Теоретически да, но таблица будет содержать 32 и более строк, что делает её неудобной для ручного анализа. Для большого числа переменных используют карты Карно или методы алгебры логики.

Как проверить, являются ли два выражения равносильными? Нужно построить таблицы истинности для обоих выражений с одинаковым набором переменных. Если столбцы конечных результатов полностью совпадают во всех строках, выражения логически эквивалентны.