Verzweigungen, bedingte Anweisungen
Es ist ein Grundprinzip in der Programmierung wie im täglichen Leben, dass man in Abhängigkeit von bestimmten (Speicher-)Zuständen unterschiedliche Entscheidungen trifft und nachfolgend auf Grund der Entscheidung andere Schritte (Anweisungen) durchführt.
Es gibt daher in jeder Programmiersprache das Konstrukt der bedingten Anweisung.
if-then-else-Anweisung

Am Beginn einer if-Anweisung steht immer eine Frage, die mit ja oder nein beantwortet werden kann, oder eine Bedingung, die wahr oder falsch ist.
Wenn (if) die Frage mit Ja beantwortet wird bzw. die Bedingung wahr (true) ist, wird der Anweisungsblock 1 ausgeführt, sonst (else) der Anweisungsblock 2.
Das ist der Grundaufbau einer Entweder-Oder-Entscheidung: if-then-else
Darstellung einer if-then-else-Anweisung als Struktogramm

if-then-Anweisung

Eine vereinfache Form der if-then-else-Anweisung ist die if-then-Anweisung bei der nur im Fall, dass die Bedingung wahr ist, ein Anweisungsblock aufgeführt wird. Im anderen Fall passiert nichts und der Programmzähler springt zur nächsten Anweisung nach der if-Anweisung.
Darstellung einer if-then-Anweisung als Struktogramm

if-then-else if-Anweisung

Mehrere immer im else-Zweig geschachtelte if-then-else-Anweisungen können vereinfacht zu einer if-then-else if-Anweisung zusammengefasst werden.
Dabei hat man eine Folge von Bedingungen (Bedingung 1 bis Bedingung n). Wenn die erste Bedingung wahr ist wird der dazugehörige Anweisungblock 1 abgearbeitet. Falls nicht wird die zweite Bedingung geprüft. Falls diese wahr ist wird der zweite Anweisungsblock abgearbeitet. Falls auch die zweite Bedingung falsch ist, wird die dritte abgefragt usw. Wenn keine der Bedingungen wahr ist, wird optional ein abschließender Anweisungsblock ausgewführt.
Darstellung einer geschachtelten if-then-else-Anweisung als Struktogramm

|
if (Bedingung 1){ entspricht if (Bedingung 1){ |
case-Anweisung Fallunterscheidung

Eine spezielle Form der if-then-else if-Anweisung ist die Fallunterscheidung (switch- oder case-Anweisung).
Bei dieser wird zuerst ein Term festgelegt und anschließend werden möglich Fälle(Zustände) des Terms aufgelistet, bei denen bestimmte Anweisungsblöcke ausgeführt werden sollen.
|
switch (term){ entspricht if (term erfüllt Fall_1){ |

Verlauf
Alle Kapitel anzeigen
voriges Kapitel