Das letzte zu lernende Steuerungsfluss-Konstrukt für die Kernprogrammierung sind bedingte Anweisungen ( if und if/else ).
Ein if/else Die Anweisung führt einen "if" -Code-Block genau dann aus, wenn der angegebene Code vorhanden istPrüfungDies gilt für den Zustand der Welt zu dem Zeitpunkt, zu dem das Programm die Aussage erreicht. Ansonsten führt das Programm den Code-Block "else" aus.
if( Prüfung ){
wenn Code-Block
} else {
sonst Code-Block
}
Um ein Gefühl dafür zu bekommen, wo bedingte Anweisungen nützlich sein könnten, schreiben wir ein Programm, bei dem Karel eine Zeile von beeper s invertiert. Wenn ein Quadrat zuvor eine beeper , sollte Karel sie beeper . Wenn ein Quadrat keine beeper , sollte Karel eine ablegen.
Beachten Sie, dass ein if Anweisung muss nicht ein else block - in diesem Fall wird die Anweisung wie ein while Schleife, die nur einmal ausgeführt wird:
if( Prüfung ){
wenn Code-Block
}
Das letzte Beispiel verwendete eine neue Bedingung. Hier ist eine Liste aller Zustände, die Karel kennt:
| Prüfung | Gegenteil | Was es prüft |
|---|---|---|
frontIsClear() |
frontIsBlocked() |
Gibt es eine Mauer vor Karel? |
beepersPresent() |
noBeepersPresent() |
beeper sich beeper s an dieser Ecke? |
leftIsClear() |
leftIsBlocked() |
Gibt es eine Mauer neben Karel? |
rightIsClear() |
rightIsBlocked() |
Ist rechts von Karel eine Mauer? |
beepersInBag() |
noBeepersInBag() |
beeper es beeper s in Karels Tasche? |
facingNorth() |
notFacingNorth() |
Ist Karel nach Norden ausgerichtet? |
facingSouth() |
notFacingSouth() |
Ist Karel nach Süden ausgerichtet? |
facingEast() |
notFacingEast() |
Ist Karel nach Osten ausgerichtet? |
facingWest() |
notFacingWest() |
Ist Karel nach Westen ausgerichtet? |
Glückwunsch! Sie kennen jetzt alle zentralen Steuerungsflussblöcke für die Programmierung. Während Sie sie mit Karel gelernt haben, funktionieren Methoden, while-Schleifen und for-Schleifen, if / else-Anweisungen in fast allen wichtigen Sprachen, einschließlich Java, auf dieselbe Weise.
Jetzt, da Sie die Bausteine haben, können Sie sie zusammenstellen, um Lösungen für immer komplexere Probleme zu erstellen. Programmierung ist in hohem Maße die Wissenschaft, Probleme mit dem Computer zu lösen. Da Probleme oft schwierig sind, können auch Lösungen - und die Programme, die diese Lösungen implementieren - schwierig sein. Um Ihnen die Entwicklung dieser Lösungen zu erleichtern, müssen Sie eine Methodik und Disziplin anwenden, die den Umfang dieser Komplexität auf ein handhabbares Maß reduziert.