http://www.pronix.de -> Forum -> Knobelecke

Forum: Knobelecke

Moderatoren: broesel, juergen

Thema: Logische Primitive

Logische Primitive

broesel (webmaster) am 11.08.2004 um 13:41

Unlängst hatte doch hier mal jemand gefragt, wie die logische Implikation funktioniert (wenn ..., dann ...).

Die Wahrheitstabelle sieht so aus:


 a | b | a => b
---+---+--------
 0 | 0 |   1
 0 | 1 |   1
 1 | 0 |   0
 1 | 1 |   1


Wie kann man die logische Implikation auf AND und NOT zurückführen?

Wie kann man den XOR-Operator auf AND und NOT zurückführen?

Gruss
Philip

--
The C Programming Quiz (externer link) - bitte Fragen einreichen :)

 

Logische Primitive

jengelh am 11.08.2004 um 15:01

Zitat:

Wie kann man die logische Implikation auf AND und NOT zurückführen?


if(a && !b) { eins; }

oder

if(!a || b) { eins; }

Wie kann man den XOR-Operator auf AND und NOT zurückführen?

if((a && !b) || (!a && b)) {
    eins;
}

 

Logische Primitive

Anonym am 11.08.2004 um 15:48

Alle Lösungen falsch *grins*


if(!a || b) { eins; }

if((a && !b) || (!a && b)) {
    eins;
}


Da kommt jeweils ein OR vor, es dürfen aber nur AND und NOT verwendet werden (Ergebnis ist trotzdem richtig).



if(a && !b) { eins; }


Ist die Negation vom ersten, somit falsch.

Gruss
Philip
 

Logische Primitive

jengelh am 11.08.2004 um 18:42

Könntest du vielleicht ein bisschen präziser sein, welches genau jetzt wie richtig und wie falsch ist? Du sagt (trotzdem richtig) aber unten wiederlegst du es mit "erstes ist falsch"
 

Logische Primitive

Anonym am 12.08.2004 um 01:36

Die ersten beiden (aus meinem Posting) zeigen zwar das korrekte Verhalten (Implikation bzw. XOR), verstoßen aber gegen die Regel, nur AND und NOT zu benutzen (Du benutzt dort OR).

Das letzte soll ein Ersatz für a=>b sein, ist es aber nicht (einfach mal Werte einsetzen).

Gruss
Philip