Umdimensionieren von Variablen

Beispiele

DIMOPTIONBASE 1
DIM Matrix (2 ; 3)
DISP " Ergebnisse der 2*3 - Matrix :\n"
FOR Y=1 TO 2
FOR X=1 to 3
Wert =Y+X/10
Matrix (Y ; X)= Wert
DISP " Matrix ( " Y " ; " X "): " Wert "\n"
NEXT
NEXT
REDIM Matrix (3 ; 2)
DISP " Ergebnisse nach Umdimensionierung in eine 3*2 - Matrix \n"
FOR Y=1 TO 3
FOR X=1 TO 2
Wert = Matrix (y ; X)
DISP " Matrix ( " Y " ; " X "): " Wert "\n"
NEXT
NEXT
: Ergebnisse der 2*3 - Matrix:
: Matrix ( 1 ; 1): 1,1
: Matrix ( 1 ; 2): 1,2
: Matrix ( 1 ; 3): 1,3
: Matrix ( 2 ; 1): 2,1
: Matrix ( 2 ; 2): 2,2
: Matrix ( 2 ; 3): 2,3
: Ergebnisse nach Umdimensionierung in eine 3*2 - Matrix
: Matrix ( 1 ; 1): 1,1
: Matrix ( 1 ; 2): 1,2
: Matrix ( 2 ; 1): 1,3
: Matrix ( 2 ; 2): 2,1
: Matrix ( 3 ; 1): 2,2
: Matrix ( 3 ; 2): 2,3
Das obige Beispiel zeigt sehr gut auf, wie sich eine Umdimensionierung einer Matrix auf die Anordnung der Elemente auswirkt. Vor der Implementierung dieser Anweisung wurden intensive Überlegungen angestellt, ob die in einer Matrix enthaltenen Elemente im Rahmen einer Umdimensionierung automatisch gemäß einer definierten Logik ebenfalls umgeordnet werden sollten. In der Mathematik sind dafür jedoch keine Regeln definiert. In der logischen Betrachtung stellt sich die Frage, wie das Ergebnis ist, wenn eine kleinere Matrix einer größeren zugewiesen wird. Die Antwort ist einfach: Eine solche Zuweisung ist verboten. Entsprechend reorganisiert die REDIMAnweisung auch keine Elemente sondern beläßt sie an an ihrer absoluten Position, die sich durch Addition und Multiplikation der einzelnen Dimensionen ergibt.

Referenz

REDIM Variable(Dimension1;...;Dimension6) ; ...

Die Anweisung dient dazu, um eine vorhandene Variable zu vergrößern oder zu verkleinern. Die angegebene Variable muss bereits vorhanden und ein Vektor oder Feld sein. Es ist nicht zulässig, einfache Variablen in Matrizen - oder Vektoren - zu verwandeln oder umgekehrt. Die Anweisung gestattet sowohl die Änderung der Feldgrößen als auch die Änderung der Dimensionen. Wenn die Gesamtanzahl der Elemente und der Dimensionen mit der REDIM-Anweisung nicht geändert wird, so verbleibt die Variable an der gleichen Stelle im Variablenspeicher. Ändert sich degegen die Anzahl der Dimensionen oder die Gesamtzahl der Elemente, so wird die Variable im Speicher neu angelegt, ihr alter Inhalt wird jedoch n die neue Variable einkopiert. Mit der Änderung der Dimensionierung einer Variablen ändert sich in jedem Falle auch die Zuordnung der Elemente, da die dimensionale Abmessungszählung sich ändert.

Siehe auch



Schatten