Вопрос Программирование python. Егэ №2

Регистрация
1 Ноя 2012
Сообщения
75
Репутация
0
Спасибо
1
Монет
0
Решаю Егэ по информатике, прорабатываю 2 задание. Думаю решать его через python. Дано выражение:

((x ∨ ¬y) ∧ (¬z ≡ w)) → (y ∧ z)

в ответах на сайте оно пишется на языке так:

if not (not ((x or not (y)) and (not (z) == w)) or (y and z))

Но я его записал так:

if not(((x or not(y)) and (not(z) == w)) <= (y and z)).

В итоге ответы получаются разные, но я никак не могу понять почему ведь импликация <= и выражение not A or B это по сути одно и то же. И в каких случаях следует заменять?
 
Значит ты написал что-то другое.
from itertools import product

for x, y, z, w in product([0, 1], repeat=4):
print(not (not ((x or not y) and (not z == w)) or (y and z)),
not (((x or not y) and (not z == w))
 
я всегда когда вижу такие задания, где формально-логическая запись, взятая, ПО СУТИ, из книжек по философии конца 19 века, и не имеющая никакого отношения к булевской логике, НАТЯГИВАЕТСЯ с умным видом на современную цифровую электронику - умиляюсь...

парень... тебе НИКОГДА, НИКОГДА-НИКОГДА не понадобится в твоей карьере программиста транслировать такую запись в логические/бинарные операторы на любом из ЯП
тебе НИКОГДА не понадобится запоминать что 'крышка' - это И, а 'ведро' - это ИЛИ, и что 'префиксный уголок' - это НЕТ

мне лень разбираться с этим заданием, сделаю только замечание что умники выше приравнивают математичекий символ тождества ≡ к оператору равенства ==, что - довольно грубый КОСЯК, и я бы, будь я училка, поставил бы им по 3 балла максимум за это
 
Назад
Сверху