Читать книгу Algorithmen und Datenstrukturen - Gunter Saake - Страница 33
Bedingte Anweisungen
ОглавлениеBedingte Anweisungen: Auswahl / Selektion
Bedingte Anweisungen wählen aufgrund einer zu testenden Bedingung einen Schritt aus. Sie werden daher auch als Auswahl- oder Selektionsschritte bezeichnet. Wie bereits erwähnt, gibt es zwei Varianten: Entweder wird nur bei positivem Test der Schritt ausgeführt (der Schritt also andernfalls übersprungen) oder es gibt eine weitere Angabe eines Schritts für den negativen Testausgang. Notiert werden diese beiden Varianten als
falls Bedingung
dann Schritt
bzw. als
falls Bedingung
dann Schritt a
sonst Schritt b
Ein Beispiel, diesmal aus einem anderen Alltagsbereich, soll den Einsatz der Auswahl verdeutlichen:
falls Ampel rot oder gelb
dann stoppe
sonst fahre weiter
Der Test liefert einen Wahrheitswert »wahr« oder »falsch«, aufgrund dessen die Ausführung des ersten oder zweiten Schritts entschieden wird.
Schachtelung von Selektionen
Die Schachtelung mehrerer Selektionen ineinander ermöglicht komplexe Auswahlen unter mehreren Schritten, wie das folgende Beispiel zeigt:
falls Ampel ausgefallen
dann fahre vorsichtig weiter
sonst falls Ampel rot oder gelb
dann stoppe
sonst fahre weiter
Das Konstrukt falls … dann … sonst … entspricht in verbreiteten Programmiersprachen den folgenden Konstrukten:
if Bedingung then … else … fi
if Bedingung then … else … endif
if ( Bedingung ) … else …
Das letzte Beispiel gibt die Notation in Java wieder. In Programmiersprachen werden also in der Regel die entsprechenden englischen Wörter verwendet, wobei sich die Sprachen darin unterscheiden, ob sie alle Wörter explizit notieren (in Java wird das then durch eine Klammerung der Bedingung überflüssig) und ob sie ein spezielles Schlüsselwort (etwa endif) zum Abschluss der bedingten Anweisung benutzen. Die erste Variante der Bedingung (Ausführung eines Schrittes nur bei positivem Test) wird jeweils durch Weglassen des else-Teiles realisiert.