Die Sequenz Die Auswahl Die Wiederholung
Sie sagt: | "Wenn Du heute zu spät kommst, dann brauchst Du Dich bei mir gar nicht mehr sehen lassen." |
Er denkt: | "Wenn ich sie los werden will, dann gehe ich erst gar nicht los. Liegt mir was an ihr, dann mache ich mich lieber etwas eher auf den Weg." |
Wie im Leben, so auch beim Programmieren kann es vorkommen, dass ein Programm in Abhängigkeit von bestimmten Bedingungen unterschiedlich reagiert.
In Abhängigkeit vom Eintreten einer Bedingung soll etwas ausgeführt werden. Beispielsweise soll Kara von seinem Feld ein Blatt aufnehmen. Das geht natürlich nur dann, wenn eins vorhanden ist.
Struktogramm |
/* Umsetzung der einseitigen Auswahl in Java */ if (Bedingung){ Anweisungen; } |
/* Umsetzung der einseitigen Auswahl in Kara */ if (kara.onLeaf()){ kara.removeLeaf(); } |
Tritt eine Bedingung ein, so soll das Programm etwas ausführen. Tritt diese Bedingung nicht
ein, so soll etwas anderes getan werden.
Beispielweise soll Kara ein Blatt aufehmen,
falls er eins findet. Andernfalls soll er einen Schritt gehen.
Schlussfolgerung: Es kann nicht passieren, dass beide Anweisungsblöcke ausgeführt
werden. Entweder Anweisungsblock 1 oder Anweisungsblock 2 wird
ausgeführt.
Struktogramm |
/* Umsetzung der zweiseitigen Auswahl in Java */ if (Bedingung){ Anweisungen 1; } else { Anweisungen 2; } |
/* Umsetzung der zweiseitigen Auswahl in Kara */ if (kara.onLeaf()){ kara.removeLeaf(); } else { kara.move(); } |
Eine Steigerung der zweiseitigen Auswahl ist die Mehrfachauswahl. Sie wird dort eingesetzt, wo nicht nur zwischen zwei Fällen unterschieden wird. Das ist Beispielsweise bei einem Menü der Fall, wo das Programm entsprechend der Wahl durch einen Benutzer unterschiedliche Anweisungen ausführen muss.
Struktogramm |
/* Umsetzung der Mehrfachauswahl in Java */ switch (Auswahl) { case Fall1 : Anweisung1 ;break; case Fall2 : Anweisung2 ;break; ... case Falln : Anweisungn ;break; default : sonstAnweisung ;break; } |
Die Bedingung bei einseitiger und zweisseitiger Auswahl muss einen
Wahrheitswert (true oder false) liefern.
Bei der Mehrfachauswahl muss das Auswahlkriterium ein aufzählbarer (integraler) Typ
sein (z.B. eine ganze Zahl).