Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
no tu jest oszybka, bo dysjunkcję oznacza się łamakiem "/", a nie rurą "|"
"/" - NAND = NOT AND - dysjunkcja (negacja koniunkcji)
"|" - OR - alternatywa
czyli powinieneś był napisać:
~p V q
~(p ^ ~q) -- bo prawa de morgana
p / (~q) -- bo ~(p^q) = p/q , tzn. negacja koniunkcji = dysjunkcja
p / (q / q) -- bo ~q = ~(q^q) = q/q (sprawdź tabelę prawdy)
na moim wydziale rozwiązywaliśmy takie zadanka używając nieco innych symboli (mnożenie to koniunkcja, dodawanie to alternatywa, negację oznacza się kreską u góry), i w bardziej praktycznym wymiarze, np. "posiadając tylko bramki NAND zrealizuj następującą funkcję..."
Offline
Hmmm ale te oznaczenia są dobre.. bo sam wykladowca nam je pisał...
Edit://
Alternatywe oznacza się( przynajmniej u mnie ) jako V.
Ostatnio edytowany przez sqrtek (2012-10-13 17:02:28)
Offline
racja, rurą oznacza się alternatywę w bashu :P normalnie to jest "ptaszek w dół" albo "+" (suma logiczna). ale dysjunkcja na bank to łamak. zresztą każdy wykładowca po swojemu rysuje i jak chcesz zdać przedmiot to musisz się nauczyć nie tyle "logiki", co "logiki wg. pana doktora"
Offline
Szczerze to ja nie wiem czy tego się nauczę.. strasznie dziwne to jest.. rozumiem tylko do momentu tego:
~p V q
~(p ^ ~q) -- bo prawa de morgana
Dalej to nie wiem skąd się to wszystko bierze, straszne te bramki są..
Offline
no ale co?
p ^ q -- to jest koniunkcja
~(p ^ q) -- to jest zanegowana koniunkcja
p / q -- to jest dysjunkcja
~(p ^ q) = p / q -- to jest zapis równoważny. lewa strona równania i prawa strona to jest jedna i ta sama bramka logiczna, tylko rozpisana na dwa sposoby. jak masz wątpliwości to zrób sobie tabele prawdy:
p q ~(p ^ q) p / q 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0
3 i 4 kolumna identyczne, więc to jest to samo
negacja koniunkcji = dysjunkcja = NAND
negacja dysjunkcji = koniunkcja = AND
faktycznie trochę to głupie - po co używać pojęcia "dysjunkcja", skoro wystarczyłoby powiedzieć, że chodzi o "zanegowaną koniunkcję". jak weźmiesz do ręki jakieś czasopisma lub książki o technice cyfrowej to tam nikt nie używa pojęcia "dysjunkcja", zazwyczaj wszyscy mówią "NAND" i wszystko jest jasne
wracając do twojego przykładu: tu akurat q jest zanegowane, więc wygląda to tak:
~(p ^ ~q) = p / (~q)
następnie musisz pozbyć się negacji przed q (bo w zadaniu masz, że masz wypieprzyć wszystkie operatory oprócz dysjunkcji, a negacja to też operator). i tu stosujesz taki trik:
q ^ q = q -- proste nie? jak q = 0 to 0*0 też wyniesie 0, a jak q = 1 to 1*1 wyniesie 1.
po obustronnym zanegowaniu:
~(q ^ q) = ~q
wiesz już, że:
~(q ^ q) = q / q
czyli:
~q = q / q
Offline
Time (s) | Query |
---|---|
0.00014 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00102 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.137.218.176' WHERE u.id=1 |
0.00072 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.137.218.176', 1732798872) |
0.00047 | SELECT * FROM punbb_online WHERE logged<1732798572 |
0.00069 | SELECT topic_id FROM punbb_posts WHERE id=212775 |
0.00006 | SELECT id FROM punbb_posts WHERE topic_id=22095 ORDER BY posted |
0.00060 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=22095 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00164 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=22095 ORDER BY p.id LIMIT 25,25 |
0.00085 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=22095 |
Total query time: 0.00628 s |