de Morgansschen Regeln und negieren

http://de.wikipedia.org/wiki/De_Morgansche_Gesetze

(antwort== 'j' || antwort== 'J' ) && ( weiter== true )
Entspricht
(a || b) && c

Verneinung:
!((a || b) && c)

Negation in die Klammer ziehen:
!(a || b) || !c

Negation in die Klammer
(!a && !b) || !c

Variablen wieder ersetzen:
(!(antwort== 'j' && !(antwort== 'J') ) || !( weiter== true )
ergibt:
(antwort!= 'j' && antwort!= 'J') || weiter!= true

Allerdings tut dass das selbe:
!((antwort== 'j' || antwort== 'J' ) && ( weiter== true ))
 
Habe das zweite versucht...

if (( antwort== 'n' && rest < 1000 ) || ( weiter== false )) entspricht (a && b) || c

negiert

!((a && b) || c

!(a && b ) && !c --> (!a || !b) && !c

also

if (( antwort!== 'n' || rest > 1000 ) && ( weiter!== false ))

Muss man <, >, =<, => dann auch noch negieren
 
Ja das müsstest du auch negieren.

Musst du halt schauen ob du dann
!(a > b) oder
(a <= b)
verwendest.
 
Dann ist a<b negiert a>=b bzw. !(a<b)
und a>b negiert a<=b bzw. !(a>b)
Stimmt das so ?

Aber woher kommt denn das = Zeichen? Das ist dann halt so von der Logik ....
 
Wenn !(a>b) darf a nicht größer als b sein, also muss a kleiner(<) oder gleich(=) b sein. Also <=.

Sonst war das richtig was du da so hattest.

Entsprechend ist !(a<=b) das gleiche wie a>b.
 
Zurück