Логические вентили И, ИЛИ, НЕ

Если нули и единицы — это алфавит компьютера, то логические вентили (или гейты) — это его правила грамматики. Вентиль — это крошечная электронная схема, которая принимает один или несколько сигналов на вход и выдаёт результат на выход по строгим правилам.

Решение уровня «Идеальная пара»: вентиль И из NAND и инвертора
Вентиль И из NAND: авторское решение уровня

Базовых вентилей всего три — НЕ, И и ИЛИ. Запомни их таблицы истинности, ведь из этих трёх правил собирается любая, даже самая сложная цифровая схема.

Вентиль НЕ (NOT) — электронный бунтарь

НЕ всегда делает наоборот. Подаёшь на него 1 (ток есть) — он выдаёт 0 (тока нет). Подаёшь 0 — выдаёт 1. В схемотехнике его часто называют инвертором: он «переворачивает» сигнал.

Таблица истинности вентиля НЕ:

ВходВыход
01
10

Вентиль И (AND) — строгий охранник

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

Для двух входов это выглядит так: 00 → 0, 01 → 0, 10 → 0, и только 11 → 1.

Вентиль ИЛИ (OR) — добрый вахтёр

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

Для двух входов: 00 → 0, 01 → 1, 10 → 1, 11 → 1.

Сводная таблица: НЕ, И и ИЛИ

Соберём все три вентиля в одну таблицу:

ABНЕ AA И BA ИЛИ B
00100
01101
10001
11011

Видишь закономерность? И и ИЛИ совпадают почти везде и расходятся только в одной строке: при входах 01 и 10 И выдаёт 0, а ИЛИ — 1. И — строже, ИЛИ — щедрее.

NAND — универсальный вентиль

В игре ты не начинаешь с готовых И, ИЛИ и НЕ. В самом начале у тебя есть только провод и вентиль NAND — «НЕ-И», который выдаёт 0 только когда оба входа равны 1. NAND замечателен тем, что из него можно собрать любой другой вентиль:

• НЕ: соедини оба входа NAND вместе — на уровне 1.2 ты соберёшь инвертор именно так.
• И: возьми NAND и поставь после него инвертор (NAND + НЕ) — так строится уровень 1.3.
• ИЛИ: поставь инверторы на оба входа NAND — об этом рассказывают законы де Моргана, а уровень 1.4 проверяет это на практике.

Примеры из жизни: двери, банкомат и сигнализация

Представь автоматическую дверь в супермаркете. Она должна открыться, если сработал датчик движения ИЛИ нажата кнопка. Пусть A = датчик движения, B = кнопка. Если A = 1 (кто-то подошёл), а B = 0 (кнопку не трогали), вентиль ИЛИ выдаёт 1 — дверь открывается.

А вот банкомат выдаст деньги, только если вставлена карта И введён правильный ПИН-код. Если A = 1 (карта на месте), но B = 0 (ПИН неверный), вентиль И выдаёт 0 — денег нет.

Инвертор НЕ пригодится для сигнализации: она должна сработать, когда дверь не закрыта. Дверь закрыта (сигнал 1) → НЕ выдаёт 0 → тревога молчит. Дверь открыта (сигнал 0) → НЕ выдаёт 1 → сигнализация включается. Из этих трёх операций строится любая «умная» электроника вокруг нас.

Частые ошибки

• Путать И и ИЛИ: И требует все единицы на входах, ИЛИ — хотя бы одну.

• Забывать, что НЕ на входе 0 выдаёт 1, а не 0.

• Считать, что 11 → 0 для ИЛИ: нет, ИЛИ выдаёт 1 и на двух единицах тоже.

Проверить любую комбинацию вентилей можно в генераторе таблиц истинности: вставьте формулу — и получите полную таблицу со всеми наборами входов.

Проверь себя

Что делает вентиль НЕ (NOT)?

Меняет сигнал на противоположный: 0 становится 1, а 1 становится 0.

Что вернёт вентиль И (AND) при входах 1 и 0?

0. И даёт 1 только когда оба входа равны 1.

Почему NAND называют универсальным вентилем?

Из одних только NAND можно собрать любой другой вентиль — НЕ, И, ИЛИ — и вообще любую схему.

Резюме

1. НЕ — инвертор: 0 → 1, 1 → 0.

2. И выдаёт 1 только при всех единицах на входах.

3. ИЛИ выдаёт 1, если есть хотя бы одна единица на входе.

4. Из универсального NAND собираются НЕ, И и ИЛИ.

5. Вентили — это грамматика компьютера: из простых правил рождается сложная логика.

На уровне 1.2–1.4 тебе предстоит собрать все три вентиля из одного NAND: на уровне 1.2 — инвертор НЕ (соединив оба входа NAND), на уровне 1.3 — вентиль И (NAND + инвертор), а на уровне 1.4 — вентиль ИЛИ по закону де Моргана. Подробнее о двоичном алфавите читай в статье «0 и 1: На каком языке говорят машины».

Попробовать в симуляторе →