
Die alternativ auszuführenden Aktionen hängen von verschiedenen Bedingungen ab, die in einer vorgegebenen Reihenfolge ausgewertet werden, d.h. die Bedingungen beruhen auf der Auswertung unterschiedlicher Ausdrücke.
Pseudocode
IF bedingung_1 THEN
anweisungsfolge_1
ELSIF bedingung_2 THEN
anweisungsfolge_2
...
ELSE
anweisungsfolge_n
END IF
Pascal
IF bedingung_1 THEN
anweisung_1 {einfache Anweisung oder Verbundanweisung}
ELSE IF bedingung_2 THEN
anweisung_2 {einfache Anweisung oder Verbundanweisung}
...
ELSE
anweisung_n; {einfache Anweisung oder Verbundanweisung}
Beispiel:
TYPE wtag = (montag, dienstag, mittwoch, donnerstag, freitag,
samstag, sonntag);
VAR wochentag : wtag;
konto, minimum : REAL;
IF (wochentag = samstag) AND ( konto > minimum ) THEN
feiern
ELSE IF (wochentag = sonntag) AND ( konto > minimum ) THEN
ausruhen
ELSE
arbeiten;
Verschachtelte IF-AnweisungenEin ELSE wird immer dem "nächsten" IF zugeordnet.
Beispiel:
IF b1 THEN IF b2 THEN stmt1 ELSE stmt2;wird interpretiert wie
IF b1 THEN BEGIN
IF b2 THEN
stmt1
ELSE
stmt2;
END;
Fehlerquellen:
Die IF-THEN-ELSE-Konstruktion ist nach Pascal-Verständnis ein
Befehl:
Vor ELSE darf deshalb nie ein Semikolon notiert werden !
Zuordnung eines ELSE-Zweiges zum falschen IF-Zweig:
Bei komplizierten Strukturen sollte durch Verwendung von Verbundanweisungen
die beabsichtigte Zuordnung explizit sichtbar gemacht werden.