как построить таблицу истинности для выражения с 3 переменными вручную, путаюсь со строками
Надо построить таблицу истинности для (A И B) ИЛИ НЕ C руками, без компа. Я не понимаю две вещи: сколько вообще должно быть строк и как заполнять столбцы A, B, C чтобы ничего не пропустить и не повторить.
Начал писать наугад комбинации 0 и 1, но запутался — то ли 6 строк, то ли 8. Подскажите систему, а то на контрольной точно налажаю.
2 ответа
Строк всегда 2^n, где n — число переменных. У тебя 3 переменные → 2^3 = 8 строк (не 6).
Чтобы ничего не пропустить, заполняй наборы как двоичные числа от 000 до 111 по порядку. Фишка для столбцов: A меняется реже всех (половина нулей, половина единиц), C — чаще всех (через одну):
| A | B | C |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 0 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
| 1 | 1 | 1 |
Теперь добавляй промежуточные столбцы для кусочков выражения, потом итог. Для (A И B) ИЛИ НЕ C:
| A | B | C | A И B | НЕ C | (A И B) ИЛИ НЕ C |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 | 1 |
| 1 | 0 | 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 |
Главный принцип: не считай всё выражение в уме сразу, разбей на простые столбики и считай их по очереди. Так не запутаешься.
Про «сколько строк» железное правило: 2 переменные → 4 строки, 3 → 8, 4 → 16. Просто 2 в степени количества переменных.
А чтобы наборы 0/1 заполнить без ошибок — пиши их как счёт в двоичной: 000, 001, 010, 011... 111. Это и есть все варианты по порядку, ничего не пропустишь.