FreeBasic: Schleifen
Loop
BearbeitenDie Loop-Schleife fußgesteuert:
do 'Schleifenanfang
'Programmcode
loop [while|until] Bedingung 'Schleifenende
Die Loop-Schleife kopfgesteuert:
do [while|until] Bedingung 'Schleifenanfang
'Programmcode
loop 'Schleifenende
Der Programmcode zwischen Do und Loop wird so lange ausgeführt,
Until: Bis die Bedingung WAHR ist
While: So lange die Bedingung WAHR ist
Beispiele
BearbeitenEndlosschleife
Bearbeitendo
print "Hallo Welt"
loop
Weil kein Ende definiert ist, läuft das Programm solange weiter, bis es "gewaltsam" beendet wird.
Endlosschleifen sollten vermieden werden.
Until
Bearbeitendim a as string
do
input "Gib ja ein: ", a
loop until a = "ja"
Dieses Programm beendet sich, sobald ihr "ja" eingebt und mit "ENTER" bestätigt.
While
Bearbeitendim a as string
do
input "Gib ja ein: ", a
loop while a = "ja"
Dieses Programm läuft, solange ihr "ja" eingebt.
For-Schleife
BearbeitenDie For-Schleife Schleife wird auch als Zählerschleife bezeichnet.
dim i as integer
for i = 0 to 9 step 1
print i 'Programmcode, als Beispiel "print i"
next
Die Variable i besitzt am Anfang den Wert 0. Jedesmal, wenn das Programm das Ende erreicht, beginnt die Schleife von vorne. Hierbei wird aber in jeder Runde i um 1 (step 1) erhöht. Man kann Step 1 weglassen, da 1 die normale "Schrittgröße" ist.
Möglich wäre auch:
for i = 9 to 0 step -3
Hierbei würde jede Runde von i drei subtrahiert. (9,6,3,0). Erreicht/Überschreitet i den "To Wert" (im ersten Beispiel 9), so bricht die Schleife ab, der Programmablauf wird fortgesetzt. Es gibt noch eine andere Methode für Zahlschleifen. Damit man nicht immer die Variablen für die For-Schleifen deklarieren muss, kann man in der For Anweisung angeben, welchen Typs die Variable sein soll:
for i as integer = 0 to 9
print i
next
While-Schleife
BearbeitenDie While Schleife ist die letzte Schleife die wir uns in diesem Kapitel ansehen werden:
dim i as integer = 2
while i = 3
print "Hallo Welt"
wend
sleep
Wenn du dieses Programm ausführst, wirst du dich Fragen: "Was ist das denn für eine Schleife? Kein einziges Hallo Welt". An diesem Beispiel sieht man eine wichtige Eigenschaft von While-Schleifen. Sie beginnen überhaupt erst wenn die Bedingung wahr ist. In diesem Beispiel wird also die Schleife gar nicht erst gestartet. Die Schleife läuft, wenn sie erstmal gestartet ist, solange bis die Bedingung nicht mehr wahr ist. Es gibt noch zwei weitere Schlüsselwörter im Zusammenhang mit While-Schleifen: "Exit While" und "Continue". "Exit While" beendet die While-Schleife und springt hinter Wend. Continue bewirkt, dass die Schleife wieder zu While springt.
Wozu man Schleifen braucht
BearbeitenGut. Jetzt hat man eine Schleife die 10000 mal durchläuft, und weiter? Was kann man jetzt tolles tun? - 10000 mal "Hallo Welt" ausgeben? Natürlich kann man 10000 mal "Hallo Welt" ausgeben, aber es gibt noch viel bessere Zwecke für Schleifen. Zum Beispiel kann man mit Input aus einer Datei lesen. Aber eine Datei mit 1 MB besteht aus einer Millionen Byte. Soll man wirklich eine Millionen mal Input Schreiben? Natürlich nicht. Hier helfen Schleifen.