Задание №2: Таблицы истинности логических функций
Основные типы и прототипы задания №2:
Построение таблицы истинности
Частично заполненные фрагменты
Сопоставление строк и столбцов
Условие задания
Логическая функция F задаётся выражением (a ∧ c) ∨ (¬a ∧ (b ∨ ¬c)). Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных a, b, c.
В ответе напишите буквы a, b, c в том порядке, в котором идут соответствующие им столбцы (без разделителей).
Ответ:
cab
Шаблон решения на 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))