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