0 Daumen
428 Aufrufe

Gegeben: Natürlicher Satz: 
Either \(a\) and \(b\) are both false or \(c\) is true, but not both.

Ich habe:
(a==0 && b==0)xor(c==1)

Richtige Lösung: 

(!a && !b) != c

Frage: 
Kann mir jemand die richtige Lösung erklären ? 

Ich verstehe in der richtigen Lösung die erste Klammer. 
Aber wie es weiter geht mit \(!=c\) verstehe ich nicht.

Avatar von

1 Antwort

0 Daumen

Hallo limondae,

(Frage zu spät gesehen ...)

Der operator  !=  alias \(\ne\) bedeutet doch, dass der Ausdruck

 !a && !b
nicht gleich dem Ausdruck
c
ist. Da beide Ausdrücke nur wahr oder falsch annehemen können (ich unterstelle aus der Aufgabenstellung, dass es um boolsche Ausdrücke geht), gibt es ja nur vier Fälle zu unterscheiden. Ist genau einer von beiden Ausdrücken wahr und der andere nicht, so liefert der operator != ein wahr und die Bedingung aus dem Satz oben ist erfüllt. Wenn beide wahr oder beide falsch sind, sind sie gleich, und der operator != liefert ein falsch.
Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community