| | | | Gliederung: | Folgende Themen werden behandelt: |
1. Schleifen durch die Schleifenbedingung unterbrechen
Dass Schleifen bei Nichteintreten ihrer Bedingung unterbrochen werden, sollte eigentlich klar sein. Deswegen möchte ich hier nur noch einmal einen kurzen Überblick über die Schleifenbedingungen der verschiedenen Typen geben.
| For- Schleifen: |
For- Schleifen werden unterbrochen, wenn der Schrittwert den Endwert erreicht oder das erste Mal über- bzw unterschreitet (abhängig vom Step- Wert). Dann wird der Schleifeninhalt noch ein letztes Mal ausgeführt. |
| While- Schleifen: |
While- Schleifen werden unterbrochen, wenn die Bedingung nicht mehr zutrifft. Diese Bedingung steht am Anfang der Schleife. |
| Do- Schleifen: |
Do- Schleifen werden unterbrochen, wenn die Bedingung nicht mehr zutrifft. Die Bedingung befindet sich am Schleifenende. |
| Sprungschleifen: |
Sprungschleifen werden ohne Bedingung ausgeführt. |
2. Schleifen unabhängig von der Schleifenbedingung unterbrechen ( Break )
For-, While- und Do- Schleifen können auch mit dem Break- Befehl unterbrochen werden. Sofort nach dem Break- Befehl wird die Schleife abgebrochen und der Quelltext nach dem Schleifenende weiterinterpretiert.
Der Break- Befehl muss innerhalb der Schleife notiert werden. Er wirkt dann immer nur auf die innerste Schleife. Am besten definiert man ihn in Abhängigkeit von bestimmten Ereignissen, da sonst die Schleife auf jeden Fall nur ein Mal ausgeführt wird.
| Syntax: | Break Operationsbefehl |
| Beispiel: | ClrText Do ? A ? B Int (A+6)-B=12 Break LpWhile B 8 "FERTIG!" |
| Diese Schleife wird auch in Abhängigkeit von Variable A unterbrochen. |
Da Sprungschleifen keine richtigen Schleifen sind, funktioniert hier der Break- Befehl nicht. Sprungschleifen kann man nur durch einen Sprung ausserhalb der Schleife unterbrechen.
| Beispiel: | ClrText Lbl 1 "CODE"? C C=8 Goto 2 "FALSCHER CODE" Goto 1 Lbl 2 "SUPER!" |
| wiederholt die Schleife (Lbl 1 - Goto 1) sooft, bis 8 eingegeben wird (Sprung zu Lbl 2) |
| SelfGTR Version 5.23 vom 04.10.2007 | © 2002 - 2007 Ronny Scholz |
|