Логическая функция F задаётся выражением
Ниже приведён фрагмент таблицы истинности функции. Определите, какому столбцу таблицы истинности функции соответствует каждая из переменных w, z, x, y.
??? | ??? | ??? | ??? | F |
1 | 0 | 0 | 0 | |
1 | 0 | 0 | ||
1 | 0 | |||
print("x y z w")
for x in range(0, 2):
for y in range(0, 2):
for z in range(0, 2):
for w in range(0, 2):
if (((z and w) <= y) and (x or y or w)) == False:
print(x, y, z, w)
После запуска программы получаем результат:
x y z w
0 0 0 0
0 0 1 0
0 0 1 1
1 0 1 1
Сразу видно, что в таблице из задания есть единственный столбец без единиц и в полученной таблице тоже только один такой столбец — это y.
Первая строка таблицы из задания содержит только одну единицу, такая же строка есть и в полученной таблице и она только одна, тогда можно однозначно определить столбец, который содержит эту единицу — это z.
Вторая строка из таблицы из задания должна содержать две единицы, так как еще одной строки с одной единицей быть не может. Тогда сопоставим ее со строкой из полученной таблицы и получаем, что второй столбец таблицы из задания это w. По остаточному принцему определяем x.