150
160
170
180
190
200
210
220
230
240
250
260
270
280 END FOR werfen
290 PRINT ! zwei
300 PRINT ! si eben!
In dem obigen Programm haben wir elf einfache Variablen benutzt, in denen jeweils
die Anzahl von Würfen gespeichert wird. Werden die am Ende ausgedruckten Zah-
len gezeichnet, so werden Sie ein etwa dreieckiges Balkendiagramm erhalten. Die
höheren Anzahlen sind für die Augenzahlen 6, 7, 8 und die niedrigen Anzahlen für die
Augenzahlen 2 und 12. Wie jeder Würfelspieler weiß, gibt dies die Häufigkeit des
mittleren Augenzahlenbereichs
wieder.
100 REMark Würfelspiel2
110 DIM anzahl(12)
120 FOR werfen
130
140
150
160
170 END FOR werfen
180 FOR nummer
In der ersten FOR-Schleife, in der werfen benutzt wird, ist der Index der Tabellen-
Variablen augenzahl. Dies bedeutet, daß der richtige Tabellenindex automatisch für
eine Erhöhung der Anzahl nach jedemWurf ausgewählt wird. Stellen Sie sich nun die
Tabelle anzahl als Gruppe von Ablagefächern mit den Nummern 2 bis 12 vor. Wann
immer eine bestimmte Augenzahl auftritt, wird die Anzahl dieser Augenzahl erhöht,
indem ein Stein in das entsprechende Ablagefach geworfen wird.
In der zweiten (kürzeren) FOR-Schleife ist der Index gleich augenzahl. Während sich
der Wert von nummer von 2 bis 12 ändert, werden sämtliche Werte der Anzahlen
(
ausgedruckt.
Hier wird darauf hingewiesen, daß in der DIM-Anweisung
Tabelle nur die Anzahl erforderlicher Variablen deklariert zu werden braucht. Hier
stellt sich die Frage nach der Maximallänge, wie bei einer String-Tabelle, nicht.
Haben Sie schon mit anderen BASIC-Versionen gearbeitet, so werden Sie sich fra-
gen, was mit der NEXT-Anweisung geschehen ist. Sämtliche SuperBASIC-Struktu-
ren enden mit END plus einer bestimmten Angabe. Dies ist konsistent und auch
sinnvoll. Die NEXT-Anweisung spielt jedoch auch eine Rolle, wie Sie in den späteren
Abschnitten noch sehen werden.
Bei diesem Test können Sie maximal 16 Punkte erzielen. Vergleichen Sie Ihr Tester-
gebnis mit den Antworten auf Seite 111.
1. Legen Sie zwei Schwierigigkeiten dar, die anstehen, wenn die für ein Programm
benötigten Daten zu zahlreich werden, und Sie versuchen, diese ohne Tabellen
zu verarbeiten. (Zwei Punkte).
2. In einer Tabelle haben z. B. zehn Variablen denselben Namen. Wie können Sie
dann die Variablen unterscheiden?
(
3. Was müssen Sie normalerweise in einem Programm tun, bevor Sie eine Tabel-
lenvariable benutzen können?
3/85
LET wurf2
RND(1 TO 6)
=
=
LET augenzah l
wurf1
=
IF augenzah l
2 THEN LET zwei
=
I F augenzah l
3 THEN LET drei
=
IF augenzahl
4 THEN LET vier
=
I F augenzah l
5 THEN LET fünf
=
IF augenzah l
6 THEN LET sechs
=
IF augenzah l
7 THEN LET sieben
=
IF augenzah l
8 THEN LET acht
=
I F augenzah l
9 THEN LET neun
=
I F augenzah l
10 THEN LET zehn
=
IF augenzah l
11 THEN LET elf
=
IF augenzah l
12 THEN LET zwö l f
! drei
! vi er ! fünf!
acht!
(6, 7, 8) und die Seltenheit der Augenzahlen 2 und 12
=
1 TO 400
=
LET wurf_1
RND(1 TO 6)
=
LET wurf_2
RND(1 TO 6)
=
LET augenzah l
wurf_1
LET anzahLCaugenzahL>
2 to 12 : PRINT anzahl(nummer)
=
+
wurf2
=
+
zwei
1
=
+
drei
1
=
+
vier
1
+
=
fünf
1
=
+
sechs
1
+
=
sieben
+
=
acht
1
+
=
neun
1
=
+
zehn
1
=
+
elf
1
=
+
zwö l f
1
sechs
neun!
zehn!
el f ! zwölf
+
wurf_2
=
anzahLCaugenzahL>
für eine numerische
TABELLEN UND FOR-SCHLEIFEN
1
Programm 2
+
1
TEST ZU
KAPITEL 6
31