
Übersicht
Einleitung
1. Grundlagen
2. Variablen
3. Schleifen
4. Entscheidungen
5. Struktur
6. Eingabe
7. Gfx-Grundlagen
8. Bilder anzeigen
9. Kollision
10. Sound & Musik
11. Dateien
12. Multiplayer

Spiele
Grafik
Mathe
Netzwerk
String
Verschiedenes
|
Schleifen
© Robert Gerlach 2001-2002
www.robsite.de
Immer wenn sich in einem Programm etwas wiederholen soll kommen Schleifen zum Einsatz. Der Code
in ihnen wird solange wiederholt bis eine Bedingung eintrifft. Es gibt Vor- Nach- und Nichtprüfende
Schleifen, alle sind für verschiedene Probleme unterschiedlich gut geeignet.
Die For...Next Schleife
Wenn sich eine Schleife nur exakt n-mal wiederholen soll und man n vielleicht auch noch in der
Schleife verwenden will und man weiss dass die Schleife nicht unbedingt einmal laufen
muss, nimmt man die For...Next Schleife:
For n = start To
ende [Step schrittzahl]
.
..
:code:
..
.
Next
|
n ist die Variable die sich erhöht (oder verringert), start und ende sind selbsterklärend und
schrittzahl gibt die...öh...Schrittzahl an. Wäre sie 3, würde sich n in Dreierschritten erhöhen.
Wäre sie negativ, würde das ganze rückwärts laufen, gibt man sie nicht an ist sie automatisch 1.
Dabei muss man natürlich wieder start und ende anpassen. Da am Anfang der Schleife geprüft
wird ob die Bedingung erfüllt ist, gehört For..Next zu den Vorprüfenden.
Die Repeat...Until Schleife
Sie hat keinen eingebauten Zähler, sonder läuft solange bis die Bedingung am Ende erfüllt wird:
Repeat
; Wiederhole solange...
.
..
:code:
..
.
Until n = x ;
...bis eine Bedingung erfüllt ist.
|
n ist die Variable die den Wert von x haben muss. Hier kann
man natürlich auch noch alles mögliche kombinieren. Also z.B.:
Repeat
.
..
:code:
..
.
Until n = x And
name$ = "Bopp" And
quersumme = 1949 Xor
xyz = zyx
|
Zu And und Or kommen wir im nächsten Kapitel.
Repeat...Until sollte man nehmen wenn man genau weiß, dass die Schleife mindestens einmal
durchlaufen wird.
Statt Until kann man auch Forever nehmen, dann läuft die Schleife unendlich weiter,
bis irgendwo in ihr Exit steht. Das ganze als Pseudocode:
Repeat
.
..
Wenn irgendeine Bedingung erfüllt ist, dann Exit.
..
.
Forever
|
Das Wenn...Dann gibts dann auch erst im nächsten Kapitel...
Nun zur letzten Schleifenart in BB.
Die While...Wend Schleife
Eine Vorprüfende, heisst dass sie wie For...Next nicht unbedingt durchlaufen werden muss.
While bedingung = erfüllt
; Solange eine Bedingung erfüllt ist.
.
..
:code:
..
.
Wend
;
Geh zurück zum Wend.
|
Das ist jetzt etwas anders. Wird bei Repeat...Until die Schleife abgebrochen wenn
eine Bedingung erfüllt ist, bleibt man hier solange in ihr, wie diese Bedingung erfüllt
bleibt.
Das wars mit den "echten" Schleifen. Man kann auch noch mit Goto zu einer Marke springen
die vor dem Goto liegt und somit auch Teile des Programms wiederholen, dies ist aber:
Unübersichtlich
Umständlich
Veraltet
Uncool
Merke: Nimm kein Goto. Goto ist böse.
Es führt zum berüchtigten Spaghetticode, bei dem alles aneinandergehängt ist und durch wilde
Goto-Sprünge durchs halbe Programm vollkommen unleserlich wird. Und das ist nicht gut...
Zusammenfassung
; Um einen bestimmten Programmteil
genau n-mal, aber nicht unbedingt einmal zu wiederholen nimmt man die
For...Next-Schleife:
For i = 1 To
10 [Step 2]
Print i
Next
; Repeat...Until läuft mindestens einmal und solange
bis die Bedingung hinter -Until- erfüllt ist:
Repeat
x = x + 1
Print x
Until x = 10
; While...Wend ist in etwa das gleiche wie Repeat...Until,
nur das diese Schleife nciht unbedingt einmal durchlaufen werden muss,
da am Anfang auf eine Bedingung hin überprüft wird:
While x = 10
x = x + 10
Print x
Wend
|
Druckversion
|
|