6. Anweisungen | ||||||
|
||||||
6.7 Exit-Anweisung
Mit der Exit-Anweisung (exit_statement <BNF>) können For-, While- und Endlosschleifen verlassen werden. Die Exit-Anweisung kann dabei auch mehrfach in einer Schleife vorhanden sein.
Wird die Exit-Anweisung von Schleifennamen gefolgt, muß sie in der entsprechenden Schleife enthalten sein. Mit der Bedingung kann man spezifizieren, unter welchen Umständen die Schleife zu verlassen ist. Ohne Bedingung wird die Schleife bei der Exit-Anweisung imer verlassen, ohne Namen wird die unmittelbar umgebende Schleife verlassen. Die Verwendung von For- oder While-Schleifen ohne "exit" ist der Verwendung von Schleifen mit "exit" vorzuziehen, da besser sichtbar ist, wie oft und unter welchen Umständen die Schleife durchlaufen wird.. Beispiel 1: In der folgenden Schleife wird der Benutzer aufgefordert, "J" (für "Ja") einzugeben, um die Loop-Anweisung zu beenden. Die Schleife wird solange durchlaufen, bis als Antwort "J" eingegeben wird, mindestens aber einmal, um die Aufforderung am Bildschirm anzuzeigen. (In PASCAL könnte man eine solche Schleife, die mindestens einmal durchlaufen werden muß, mit "repeat..until" spezifizieren).
Beispiel 2: Dem ersten "Exit" folgt kein Schleifenname und keine Bedingung, d. h. bei diesem "Exit" wird aus der unmittelbar umgebenden Schleife ("INNERE_SCHLEIFE") herausgesprungen. Als nächste Anweisung wird die erste Anweisung nach "end loop INNERE_SCHLEIFE" ausgeführt. Wird hingegen das zweite "exit" ausgeführt, wird nicht nur aus der Schleife "INNERE_SCHLEIFE" gesprungen, sondern auch aus der umgebenden Schleife "AEUSSERE_SCHLEIFE". Als nächste Anweisung wird dann die erste Anweisung nach "end loop AEUSSERE_SCHLEIFE;" ausgeführt. "exit when ANTWORT = 'J' " ist schließlich ein Beispiel für ein bedingtes "exit". Die unmittelbar um-gebende "AEUSSERE_SCHLEIFE" wird verlassen, wenn die Bedingung "ANTWORT = 'J'" erfüllt ist.
|
||||||
|