Калькулятор таблицы истинности

Введите логическое выражение и получите все сочетания его переменных.

Латинские буквы A–Z. Знаки и скобки можно вставить кнопками ниже; также работают !, &, |, ->, <->.
Примеры:
Выполнимое выражениеИстинно в 3 из 8 случаев
1 = истина · 0 = ложь
ABCИтог
1111
1100
1011
1001
0110
0100
0010
0000

Как читать таблицу истинности

Четыре сочетания двух переключателей: лампа загорается только при двух включённых переключателях

Таблица истинности показывает, что получится из логического выражения при каждом возможном наборе исходных значений. Значение 1 означает «истина», 0 означает «ложь». Для двух переменных A и B есть четыре набора: 11, 10, 01 и 00. Выражение A ∧ B, то есть «A и B», истинно только в первом. Калькулятор сам перебирает наборы, выводит итог по каждому из них и сообщает, сколько строк дали истину.

Такая проверка пригодится на уроке логики, при чтении условий в коде и при разборе цифровых схем. Введите выражение латинскими буквами A–Z, используя скобки и кнопки со знаками под полем. Начальная запись A ∧ (B → C) показывает три переменные и восемь строк. Чтобы разобрать битовый результат как число, нужен уже другой инструмент: перевод двоичного числа в десятичное. Здесь 0 и 1 обозначают значения отдельных высказываний, а не разряды одного числа.

Почему строк именно 2 в степени числа переменных

Каждая переменная может принять два значения. Для одной A получается 2 строки, для пары A и B уже 2 × 2 = 4, для трёх переменных 8, для четырёх 16. Это все возможные сочетания, а не выборка. Калькулятор ограничен четырьмя разными буквами, чтобы результат оставался обозримым на телефоне. Пятая буква дала бы 32 строки, шестая 64. Если нужна только численность наборов без их перечисления, это обычное возведение двойки в степень.

Переменные выводятся по алфавиту, строки начинаются с набора, где все значения равны 1, и заканчиваются всеми нулями. Такой порядок удобен для ручной сверки. Он не меняет истинность выражения или число истинных строк. Маленькая и большая латинская буква считаются одной переменной: a и A обозначают один столбец. Кириллическая «А» внешне похожа на латинскую, но в этой форме не принимается, чтобы две разные буквы не выглядели одной.

Что означают знаки в выражении

¬A меняет значение A на противоположное. Если A = 1, то ¬A = 0; если A = 0, то ¬A = 1. Вместо ¬ можно набрать !. Запись ¬¬A снова равна A в каждой строке.

A ∧ B означает «A и B» и даёт 1 только при двух единицах. Вместо ∧ работает &. Это конъюнкция, логическое пересечение условий: дверь открывается, если есть ключ и разрешение.

A ∨ B означает включающее «A или B». Итог равен 1, если истинно хотя бы одно условие, в том числе оба сразу. Вместо ∨ работает вертикальная черта |. В повседневной речи «или» иногда подразумевает выбор только одного варианта, но здесь такой исключающей операции нет.

A → B читают «если A, то B». Импликация ложна ровно в одном случае: A = 1, B = 0. При A = 0 она истинна независимо от B. Вместо стрелки можно ввести ->. Это правило формальной логики, а не утверждение о причинной связи между двумя событиями.

A ↔ B означает равнозначность: результат равен 1, когда значения совпадают, то есть для 11 и 00. Вместо ↔ можно ввести <->. В частности, выражение A ↔ ¬B показывает, что значения A и B должны различаться.

Скобки и порядок действий

Без скобок калькулятор сначала выполняет отрицание ¬, затем И ∧, ИЛИ ∨, импликацию → и последней равнозначность ↔. Операции одного уровня читаются слева направо. Поэтому A ∨ B ∧ C означает A ∨ (B ∧ C), а не (A ∨ B) ∧ C. Если ожидаете вторую запись, напишите скобки явно. Для длинного выражения это полезно даже там, где приоритет вроде бы известен: читателю не придётся угадывать его по памяти.

Пример различия: при A = 1, B = 0, C = 0 выражение A ∨ (B ∧ C) истинно, потому что A уже равно 1. Выражение (A ∨ B) ∧ C ложно, потому что C равно 0. Одна пара скобок меняет целую строку таблицы. Пустые скобки, два соседних имени без знака, незакрытая скобка и выражение, обрывающееся операцией, вызывают ошибку вместо выдуманного результата.

Проверяем выражения на числах

🔌 Два условия одновременно. Для A ∧ B получаются четыре строки. Лишь 11 даёт 1, поэтому счётчик показывает «истинно в 1 из 4 случаев». Так можно проверить правило, в котором нужны сразу два разрешения.

🚪 Достаточно одного условия. Для A ∨ B результат равен 1 в строках 11, 10 и 01. Из четырёх наборов подходят три. Строка 11 тоже включена, поскольку обычное логическое ИЛИ не запрещает одновременную истинность.

↪️ Условие и следствие. Для A → B таблица равна 1, 0, 1, 1 в порядке 11, 10, 01, 00. Единственная ложная строка 10 показывает нарушенное обещание: условие наступило, а следствие нет.

🟰 Совпадение состояний. A ↔ B даёт 1 для 11 и 00, то есть в 2 из 4 строк. Это удобно, когда проверяется, одинаковы ли два логических состояния, а не истинны ли они оба.

✅ Всегда истинно. Для A ∨ ¬A при A = 1 истинна левая часть, при A = 0 истинна правая. Получаются две единицы из двух строк. Такое выражение называют тавтологией: оно истинно при любом значении входа.

⛔ Никогда не истинно. A ∧ ¬A требует, чтобы A одновременно была 1 и 0. Ни одна из двух строк этому не отвечает, поэтому счётчик показывает 0 из 2. Это противоречие.

🧩 Скобки с тремя буквами. В выражении A ∧ (B → C) восемь строк. При A = 0 итог всегда равен 0; при A = 1 импликация ложна только для B = 1 и C = 0. Остаются три истинные строки из восьми. Это стартовый пример в форме.

Что говорит итог над таблицей

«Тавтология» означает, что итоговый столбец целиком состоит из единиц. «Противоречие» означает одни нули. Если встречаются оба значения, выражение выполнимо: существует хотя бы один набор, где оно истинно. Эти слова относятся к самому выражению. Чтобы проверить правильность логического аргумента с посылками и выводом, нужно дополнительно записать связь между ними. Одна строка «выполнимо» не делает аргумент верным.

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

Вопросы о таблице истинности

Значение отдельных строк зависит от формального смысла операций и расстановки скобок. Особенно легко ошибиться в импликации, включающем ИЛИ и одинаково выглядящих буквах разных алфавитов.

Почему для трёх переменных восемь строк?

У каждой переменной два возможных значения. Число наборов равно 2 × 2 × 2 = 8. При четырёх переменных получится 16 строк, а порядок строк не меняет итоговый подсчёт истинных случаев.

Почему A → B истинно, когда A ложно?

В формальной логике импликация нарушается только при истинном условии и ложном следствии. Если A не наступило, строка не опровергает правило «если A, то B». Это определение операции, а не вывод о реальной причинности.

Чем A ∨ B отличается от выбора только одного варианта?

Знак ∨ обозначает включающее ИЛИ: строка A = 1, B = 1 тоже истинна. Выбор ровно одного варианта называют исключающим ИЛИ. Здесь отдельного знака для него нет; его можно записать как (A ∨ B) ∧ ¬(A ∧ B).

Как получить таблицу для отрицания всего выражения?

Поставьте ¬ перед открывающей скобкой, например ¬(A ∧ B). Без скобок запись ¬A ∧ B отрицает только A, а затем применяет И. Это разные выражения: при A = 0 и B = 0 первое истинно, второе ложно.

Можно ли использовать русские буквы А и В?

Нет, поле принимает одиночные латинские буквы A–Z. Кириллическая А выглядит почти так же, но является другим символом. Если видите ошибку на первой букве, переключите раскладку клавиатуры.

Почему A и a не дают две переменные?

Регистр не различается: обе записи обозначают одну переменную A. Это защищает от случайного удвоения столбцов при наборе. Для двух независимых условий используйте разные буквы, например A и B.

Как читать запись из нулей и единиц в строке?

Каждый столбец соответствует отдельной переменной. Набор 101 при столбцах A, B, C означает A = 1, B = 0, C = 1. Последний столбец показывает результат выражения для этого набора, а не цифру нового двоичного числа.

Можно ли проверить эквивалентность двух выражений?

Запишите их через ↔, например (A → B) ↔ (¬A ∨ B). Если итог равен 1 во всех строках, выражения эквивалентны для всех возможных наборов переменных. Скобки помогают не спутать части сравнения с общей формулой.

Похожие калькуляторы

Возможно вам пригодятся ещё несколько калькуляторов по данной теме:

Есть что добавить?

Напишите своё мнение, комментарий или предложение.