Задание №2: Таблицы истинности логических функций
Основные типы и прототипы задания №2:
Построение таблицы истинности
Частично заполненные фрагменты
Сопоставление строк и столбцов
Условие задания
Логическая функция F задаётся выражением (¬x ∨ ¬z) → (x ≡ y).
На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z.
Ответ:
zxy
Шаблон решения на Python
# === Задание 2: Таблица истинности логической функции ===
from itertools import product, permutations
def f(x, y, z, w):
# Подставьте формулу из условия задания:
return (not(x <= y)) or (y == z) or not(w)
for a1, a2, a3, a4 in product([0, 1], repeat=4):
table = [
(a1, 0, 0, 1),
(0, a2, 1, 0),
(1, 0, a3, a4)
]
if len(set(table)) == len(table):
for p in permutations('xyzw'):
if all(f(**dict(zip(p, row))) == 0 for row in table):
print("Порядок переменных:", ''.join(p))