Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Логическая функция F задаётся выражением (¬x ∨ y ∨ z) ≡ (¬y ∧ z ∧ w)

Костя Харченко Ученик (90), на голосовании 1 неделю назад
Логическая функция F задаётся выражением (¬x ∨ y ∨ z) ≡ (¬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 (not (x) or y or z) == (not (y) and z and w) == 1:
print (x,y,z,w)
выдает:
0 0 1 1
1 0 1 1
а таблица:

? ? ? ? F
* 1 * 1 1
* 0 0 * 1
* 1 * 1 1
не понимаю как из двух столбцов ответа,подобрать xyzw где три столбца
Голосование за лучший ответ
ал К Мудрец (16502) 1 месяц назад
у не 1; у=0
я=1 или х=0
х=1 у=0 я=0
от ц не зависит
значит ответ
цяух
Август Рингер Ученик (122) 1 месяц назад
Ошибки в коде. "not" с переменной всегда пишется в одних скобках, то есть правильно будет не "not (x)", а "(not x)". И когда в конце приравниваешь условие к функции, нужно всё условие взять в скобки.

Исправленное условие: if (((not x) or y or z) == ((not y) and z and w)) == 1:

В таком случае, должно получится следующее:

x y z w
0 0 1 1
1 0 0 0
1 0 0 1
1 0 1 1
Похожие вопросы