Letztes Update am Fr., 30 Mai 2025 22:21:58 +0200 von Andreas Potthoff
DIM
- Token: 134 / $86 | Abkürzung: dI | ROM Exec: 45185 / $B081
- Typ: Anweisung | Funktion: Variabeln
- Syntax: DIM <variable> (<subscripts>) [ <variable> (<subscripts>)…]
Aktion, Hinweise, Tipps, Tricks:
Diese Anweisung definiert ein Array oder eine Matrix von Variablen. Dadurch können Sie den Variablennamen mit einem Index verwenden. Der Index zeigt auf das verwendete Element. Die niedrigste Elementnummer in einem Array ist Null, die höchste die in der DIM-Anweisung angegebene Nummer, die maximal 32767 ist.
Die DIM-Anweisung muss für jedes Array nur einmal ausgeführt werden. Bei erneuter Ausführung dieser Zeile tritt ein REDIM’D ARRAY-Fehler auf. Daher führen die meisten Programme alle DIM-Operationen ganz am Anfang aus.
Ein Array kann eine beliebige Anzahl von Dimensionen und 255 Indizes enthalten, begrenzt nur durch den verfügbaren RAM-Speicher für die Variablen. Das Array kann aus normalen numerischen Variablen, wie oben gezeigt, oder aus Strings oder Integer-Zahlen bestehen. Handelt es sich bei den Variablen nicht um normale numerische Variablen, verwenden Sie nach dem Variablennamen die Zeichen $ oder %, um String- oder Integer-Variablen zu kennzeichnen.
Wenn ein in einem Programm referenziertes Array nie dimensioniert wurde, wird es automatisch auf 11 Elemente in jeder Dimension der ersten Referenz dimensioniert.
BERECHNUNG DES VON DIM VERWENDETEN SPEICHERBEDARFES:
5 Bytes für den Array-Namen
2 Bytes für jede Dimension
2 Bytes/Element für Integer-Variablen
5 Bytes/Element für normale numerische Variablen
3 Bytes/Element für String-Variablen
1 Byte für jedes Zeichen in jedem String-Element
Beispiele:
10 DIM A(100) 20 DIM Z (5,7), Y(3,4,5) 30 DIM Y7%(Q) 40 DIM PH$(1000) 50 F(4)=9 : REM AUTOMATICALLY PERFORMS DIM F(10)
10 DIM S(1,5), T$(1) 20 INPUT"TEAM NAMES"; T$(0), T$(1) 30 FOR Q=1 TO 5: FOR T=0 TO 1 40 PRINT T$(T),"SCORE IN QUARTER" Q 50 INPUT S(T,Q): S(T,0)= S(T,0)+ S(T,Q) 60 NEXT T,Q 70 PRINT CHR$(147) "SCOREBOARD" 80 PRINT "QUARTER" 90 FOR Q= 1 TO 5 100 PRINT TAB(Q*2+9) Q; 110 NEXT: PRINT TAB(15) "TOTAL" 120 FOR T=0 TO 1: PRINT T$(T); 130 FOR Q= 1 TO 5 140 PRINT TAB(Q*2+9) S(T,Q); 150 NEXT: PRINT TAB(15) S(T,0) 160 NEXT
Befehle | CLOSE, CLR, CMD, CONT, DATA, DEF, DIM, END, FOR, GET, GET#, GOSUB, GOTO, IF, INPUT, INPUT#, LET, LIST, LOAD, NEW, NEXT, ON, OPEN, POKE, PRINT, PRINT#, READ, REM, RESTORE, RETURN, RUN, SAVE, STOP, SYS, VERIFY, WAIT |
Befehle Spezial (Bywords) | FN, GO, NOT, SPC(, TAB(, THEN, TO, STEP |
Arithmetische und logische Operatoren | +, –, *, /, ^, >, =, <, AND, OR |
Funktionen | ABS, ASC, ATN, CHR$, COS, EXP, FRE, INT, LEFT$, LEN, LOG, MID$, PEEK, POS, RIGHT$, RND, SGN, SIN, SQR, STR$, TAN, USR, VAL |
Konstanten und Systemvariablen | Pi, ST, TI, TI$ |