Macht die Anweisung
while ( versuch < 3 && !offen )
das was wir wollen?
Ja, denn der boolesche Ausdruck bedeutet:
solange ( der Benutzer weniger als 3 Versuche gemacht hat UND das Schloss NICHT offen ist)
Der Boolesche Ausdruck
versuch < 3 && !offen
wird true
ergeben, wenn der Benutzer die erste
oder eine weitere Möglichkeit bekommt, und er wird false
ergeben, wenn der Benutzer keine weitere Möglichkeit mehr bekommt.
Die Tabelle zeigt die Funktionsweise:
Anzahl der Versuche | offen | versuch < 3 | !offen | versuch < 3 && !offen | Weiterer Versuch? |
---|---|---|---|---|---|
0 | false | true | true | true && true | true |
1 | false | true | true | true && true | true |
1 | true | true | false | true && false | false |
2 | false | true | true | true && true | true |
2 | true | true | false | true && false | false |
3 | false | ? | ? | ? && ? | ???? |
3 | true | ? | ? | ? && ? | ???? |
Die Logik in einem Computer Programm ist häufig so kompliziert (oder noch komplizierter!) wie diese. Es könnte notwendig sein, solch eine Übersicht zu erstellen, um zu prüfen, ob die Logik korrekt ist.