Schreibweise
| Form | Bedeutung |
|---|---|
DIM A(10) | Feld mit den Plätzen A(0) bis A(10). |
DIM N$(20) | Feld für Text. |
DIM A(5),B(3) | Mehrere Felder auf einmal anlegen. |
DIM A(3,4) | Zweidimensional, wie eine Tabelle. |
Warum Felder praktisch sind
Ohne Felder bräuchte man für zehn Werte zehn Variablennamen. Mit einem Feld genügt ein Name, und die Nummer in Klammern, der Index, wählt den Platz aus. Der grosse Vorteil: Der Index darf eine Variable sein, also kann eine Schleife das ganze Feld durchlaufen.
10 DIM A(5)
20 FOR I=1 TO 5
30 A(I)=I*I
40 NEXT
50 PRINT "A(3) IST";A(3)
A(3) IST 9
Die Schleife legt in jeden Platz das Quadrat seiner Nummer.
Das Feld als Zähler
Ein häufiges Muster: Der Index steht für ein Ereignis, der Inhalt zählt, wie oft es eingetreten ist. Bei einem Würfel entspricht Platz 1 der Augenzahl 1 und so weiter.
10 DIM Z(6)
20 FOR I=1 TO 60
30 W=INT(RND(1)*6)+1
40 Z(W)=Z(W)+1
50 NEXT
60 FOR S=1 TO 6
70 PRINT S,Z(S)
80 NEXT
Nach 60 Würfen zeigt die Tabelle, wie oft jede Augenzahl fiel. Die Summe ergibt 60.
Platz 0 gibt es auch
DIM A(5) legt sechs Plätze an: A(0) bis A(5). Das überrascht oft. In der Praxis lässt man A(0) meist ungenutzt und zählt ab 1, weil sich das natürlicher liest.
Zwei Dimensionen
Mit zwei Zahlen in Klammern entsteht eine Tabelle: DIM S(3,4) hat Zeilen und Spalten. Angesprochen wird ein Platz mit S(2,3). Das eignet sich für Spielfelder und Matrizen.
Typische Stolperfallen
Index ausserhalb des Feldes
Ein Zugriff auf einen Platz, den es nicht gibt, meldet ?BAD SUBSCRIPT ERROR. Prüfe die Obergrenze in der Schleife.
DIM vergessen
Ohne DIM legt BASIC beim ersten Zugriff automatisch ein Feld mit elf Plätzen an, also 0 bis 10. Wer mehr braucht, muss DIM benutzen.
Feld zweimal anlegen
Ein Feld darf nur einmal dimensioniert werden. Steht das DIM versehentlich in einer Schleife, ist das ein Fehler.
Passt dazu
Im Kurs lernst du DIM in Lektion 17: DIM: ein Feld anlegen. Die vollständige Referenz aller Befehle steht im Befehls-Lexikon.