Калькулятор логических выражений

Соберите логическое выражение из переменных A, B и C и получите таблицу истинности для всех комбинаций. Разбор понимает AND, OR, NOT, XOR, NAND, NOR и импликацию, а схема вентилей показывает, как выражение собрано.

Логическое выражение

Переменные A, B, C. Операторы: AND (∧, &), OR (∨, |), NOT (¬, !), XOR (⊕, ^), NAND, NOR, IMP (→, ->). Регистр букв не важен.

Приоритет: NOT, затем AND и NAND, затем XOR, затем OR и NOR, затем IMP. Скобки перекрывают приоритет. Пример: NOT A AND B читается как (NOT A) AND B.

Значения переменных

Результат

—

—

Таблица истинности

Столбцы — только те переменные, что встречаются в выражении. Строка с текущими значениями подсвечена. Порядок строк — от всех единиц к всем нулям.

Как считается Семантика операторов, приоритет и порядок строк таблицы

Выражение разбирается на токены, затем рекурсивным спуском превращается в дерево с учётом приоритета: NOT связывает сильнее всех, дальше идут AND и NAND, затем XOR, затем OR и NOR, и самым слабым считается IMP. Скобки перекрывают этот порядок.

Значения считаются по булевой логике: A AND B истинно только при A=1 и B=1; A OR B ложно только при A=0 и B=0; A XOR B истинно, когда A и B различны. Производные операции: NOT A — инверсия, A NAND B = NOT (A AND B), A NOR B = NOT (A OR B), A IMP B = (NOT A) OR B. Импликация ложна лишь в одном случае: A=1 и B=0.

Таблица истинности содержит только фактически использованные переменные в порядке A, B, C. Для n переменных получается 2ⁿ строк, перечисленных от всех единиц к всем нулям; столбец результата подписан f.

Что считает калькулятор

Калькулятор вычисляет логическое выражение от переменных A, B и C и строит для него таблицу истинности. Вы задаёте выражение словами (AND, OR, NOT, XOR, NAND, NOR, IMP) и значения переменных, а инструмент возвращает результат 1 или 0, перечисляет все комбинации входа и рисует схему вентилей по дереву разбора.

Это булева логика: каждое значение — истина (1) или ложь (0). Операции читаются так: AND — конъюнкция, OR — дизъюнкция, NOT — отрицание, XOR — исключающее ИЛИ, NAND — НЕ-И, NOR — НЕ-ИЛИ, IMP — импликация.

Как заполнить поля

Начните с выражения. Переменные — только A, B и C; регистр букв не важен. По умолчанию стоит A AND B OR NOT C. Оператор можно набрать словом или символом: AND и &, OR и |, NOT и !, XOR и ^; импликация записывается как IMP, -> или →. Скобки задают порядок явно.

Ниже выберите значения A, B и C — по кнопке 1 или 0 на каждую переменную. Кнопка примера подставит готовое выражение, если не хочется набирать вручную. Пустое или некорректное выражение показывает ошибку и убирает результат: инструмент не подставляет ноль вместо ответа.

Как получается результат

Шаг 1. Выражение разбирается на токены: буквы переменных, операторы и скобки. Шаг 2. Из токенов рекурсивным спуском собирается дерево с учётом приоритета: сильнее всех связывает NOT, затем AND и NAND, затем XOR, затем OR и NOR, слабее всех — IMP. Шаг 3. В дерево подставляются значения переменных, и результат сводится к одному биту.

Разберём значение по умолчанию: A AND B OR NOT C при A=1, B=1, C=1. Сначала NOT C даёт 0. Затем A AND B даёт 1·1 = 1. Остаётся 1 OR 0, то есть 1 — истина. Если поставить A=0, B=0, C=1, получится 0 OR 0 = 0.

Импликация A IMP B — это (NOT A) OR B. Она ложна ровно в одном случае, когда A=1 и B=0. Производные операции: A NAND B = NOT (A AND B), A NOR B = NOT (A OR B).

Таблица истинности перечисляет все 2ⁿ комбинаций только тех переменных, которые реально есть в выражении, в порядке A, B, C и от всех единиц к всем нулям. Столбец результата подписан f, строка с текущими значениями подсвечена. Схема вентилей строится по тому же дереву разбора: AND — плоский вход и скруглённый выход, OR — вогнутый вход, NOT — треугольник с кружком на выходе, NAND и NOR — с кружком на выходе, XOR — с двойной дугой, IMP подписан отдельно.

Где модель останавливается

Переменных ровно три: A, B и C. Других имён выражение не принимает, как и числовых констант. Операции булевы, результат — один бит. Схема вентилей отражает порядок разбора, а не физическую схему на конкретных микросхемах. Таблица истинности показывает значения выражения, но не его упрощение: эквивалентные формы, например A AND B и B AND A, дадут одинаковые столбцы f, и это правильный результат, а не ошибка.