Zurück Vor +Ebene Home Inhalt Index Hilfe

Felder, ARRAYs

Häufig möchte man linear angeordnete Daten verarbeiten. Meistens wird dabei über einen Index das gewünschte Element des Datenfeldes ausgewählt. In PASCAL gibt es die Möglichkeit, einen ARRAY -Typ zu vereinbaren:

ARRAY[ untererIndex.. obererIndex] OF Typ

Im Anweisungsteil eines Programmes kann durch Angabe des Index ein bestimmtes Feldelement ausgewählt werden:

Name[ Index]
 

  PROGRAM wurzel(input, output);

    VAR
        i: integer;
        a: array [1..10] of double; {Feld mit 10 Elementen}
    
    BEGIN {wurzel}
        FOR i := 1 TO 10 DO a[i] := sqrt(i);
       { Feldelemente berechnen } 
        FOR i := 10 DOWNTO 1 DO writeln(a[i])
       { umgekehrt ausgeben } 
    END. {wurzel}

 
Zweidimensionale Anordnungen der Feldelemente (Matrizen):

ARRAY[.. , .. ] OF Typ
 
Dies ist eine Abkürzung von

ARRAY[.. ] OF ARRAY[ .. ] OF Typ

Ebenso ist

Name[ , ]

eine Abkürzung von

Name[ ][]
 
Höherdimensionale ARRAYs werden analog vereinbart.
 
Auf ein Element des ARRAYs

      multimatrix: ARRAY[1..5,0..10,-3..3,5..8] OF integer
kann zugegriffen werden mit
      multimatrix[3,0,-1,7]  oder mit  multimatrix[3][0][-1][7]

 
Es ist erlaubt, durch eine Zuweisung ein gesamtes ARRAY zu kopieren. Es sind dabei jedoch keine arithmetischen Operationen o.ä. erlaubt!
 
 
   PROGRAM beispiel(input, output);  
   VAR a,b: ARRAY[1..10] OF integer; 
   BEGIN
      a[3]:=b[3];  (* Einzelne Komponente kopieren *)
      a:=b  (* Komplettes Array kopieren *)
   END.
Selbstverständlich muß der Typ beider Arrays identisch sein.
 
PACKED ARRAY   , ebenfalls ein Feld, auf das genauso wie auf ein normales ARRAY zugegriffen werden kann. Rechnerintern wird aber eine platzsparende Speicherung benutzt. Wird insbesondere in der Form PACKED ARRAY[1.. laenge] OF char zur Speicherung von Zeichenketten benutzt.
 
In manchen PASCAL-Dialekten sind ARRAYs und PACKED ARRAYs identisch.

Zurück Vor +Ebene Home Inhalt Index Hilfe

Copyright Verlag Harri Deutsch AG  Stöcker DeskTop Mathematik