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