Zum Inhalt springen

FreeBasic: Schleifen

Aus Wikibooks


Die 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

[Bearbeiten]

Endlosschleife

[Bearbeiten]
do
   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

[Bearbeiten]
dim 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

[Bearbeiten]
dim a as string
do
   input "Gib ja ein: ", a
loop while a = "ja"

Dieses Programm läuft, solange ihr "ja" eingebt.

For-Schleife

[Bearbeiten]

Die 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

[Bearbeiten]

Die 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

[Bearbeiten]

Gut. 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.