100 REMark Western:
(
110 FOR patronen
[
120
PRINT "Zielen"
130
PRINT"
140
LET treffer
150
IF treffer
160 NEXT patronen
170
PRINT"
180 END FOR pa t ronen
190 PRINT "Zurück
In diesem Fall stellt der Inhalt zwischen NEXT und END FOR eine Art Nachwort dar,
das nur ausgeführt wird, wenn die FOR-Schleife voll zu Ende geführt wird. Kommt es
zu einem vorzeitigen EXIT, so wird das Nachwort nicht ausgeführt.
Derselbe Effekt kann mit einer REPeat-Schleife erzielt werden, auch wenn dies nicht
unbedingt der beste Weg ist. Es lohnt sich jedoch, diese Schleife (vielleicht beim
zweiten Lesen) genauer zu betrachten, wenn Sie Strukturen verstehen möchten, die
einfach genug für einfache Lösungen und leistungsfähig genug für eventuell auftre-
tende komplexe Situationen sind.
100 REMark Western:
110 LET pa t ronen
120 REPeat
130
PRINT"
140
PRINT"
150
LET treffer=RND(9)
160
IF treffer
170
LET patronen
180
IF pa t ronen
190
PRINT"
200 ENO REPeat
210 PRINT "Zurück
Dieses Programm arbeitet einwandfrei, solange der Sheriff am Anfang mindestens
eine Patrone hat. Es wird nicht richtig ausgeführt, wenn Zeile 110 folgendermaßen
aussieht:
110 LET patronen
Sicher wäre der Sheriff dumm, ein Unternehmen dieser Art zu starten, wenn er gar
keine Patronen hat. Wir wollen hier besprechen, wie eine gute Struktur in der kom-
plexesten Situation bewahrt werden kann. Und hierzu haben wir eine einfache Aus-
gangssituation ausgewählt. Wir wissen, was getan werden soll. Komplexe struktu-
relle Probleme entstehen im allgemeinen in Kontexten, die schwieriger sind, als
(
unsere Simulation des Wilden Westens. Wird jedoch eine Lösung für das Problem
gesucht, bei dem ein möglicher Treffer, das Verschießen der Patronen und ein Nach-
wort, sowie der Null-Fall berücksichtigt werden, so muß die folgende Zeile zu dem
obigen Programm hinzugefügt werden:
125 IF patronen
EXIT bandi t
Wir können uns kein komplexeres Problem als dieses mit einer einzigen Schleife
vorstellen. SuperBASIC kann diese Aufgabe problemlos lösen.
Betrachten Sie die folgende FOR-Schleife, mit der eine Reihe von Punkten in ver-
schiedenen, zufällig ausgewählten Farben (mit Ausnahme von Schwarz) gezeichnet
wird.
100 REMark Punktmusterreihe
110 PAPER 0 : CLS
120 LET senk = 50
130 FOR waag = 20 TO 60
140
INK RNO(2 TO
150
POINT waag,
(
160 END FOR waag
3/85
FOR mit Schleifennachsatz
= 1 TO 6
Schuß"
= RND(9)
= 7 THEN EXIT patronen]
Paß auf den Bandi ten auf"
nach
Dodge Ci ty"
REPeat
mit Schleifennachsatz
= 6
bandit
ZieLen"
Schuß"
= 7 THEN EXIT bandit
= patronen-1
= 0 THEN EXIT band i t
Paß auf den Bandi ten auf"
bandi t
nach
Dodge City"
= 0
= 0 then
PRINT "Paß
7)
senk
auf den Banditen
auf":
PROGRAMMSTRUKTUR
Programm 1
Programm 2
VERSCHACHTELTE
SCHLEIFEN
81