Eindimensionale Felder
Will man mehrere Variablen vom gleichen Datentyp zusammenfassen verwendet man den Datentyp ARRAY (Feld). Möchte man z.B. eine Namensliste aller Schüler einer Klasse erstellen, könnte man folgende Deklaration verwenden:
VAR Schueler : ARRAY [1..40] OF String[50];
Die Variable kann also die Nummern 1 bis 40 haben, wobei jede dieser Variablen vom Typ String ist. In den Anweisungen des Programms werden die Variablen als Schueler[1], Schueler[2], ..., Schueler[20] verwendet. Die Zahl in der Klammer wird Index genannt. Der Index gibt an welcher Stelle im ARRAY die Variable steht. Als Index kann man aber auch eine Variable vom Datentyp Integer verwenden.
I := 5;
Readln (Schueler[I]);
hat den gleichen Effekt wie:
Readln (Schueler[5]);
Bei der Deklaration eines Feldes muß genau festgelegt werden, welche Nummern als Indizes auftreten können, damit der Compiler genauso viele Speicherplätze für die indizierten Variablen bereitstellen kann.
Mehrdimensionale Felder
Möchte man z.B. die Felder eines Schachbretts wie gewohnt mit den Buchstaben 1..8 und den Zeichen A..H beschriften, genügt ein eindimensionales Feld nicht mehr. In PASCAL gibt deshalb es die Möglichkeit auch zwei- und mehrdimensionale Felder zu deklarieren. Die Deklaration eines solchen Feldes würde folgendermaßen aussehen:
TYPE Schachbrett = ARRAY[1..8,A..H] of Integer;
VAR S : Schachbrett;
Da die Buchstaben A..H nicht vom Datentyp Integer sind, würde der Compiler hier eine Fehlermeldung ausgeben. Um dies zu vermeiden könnte man statt Buchstaben ebenfalls Zahlen verwenden oder im Deklarationsteil die Buchstaben A..H als Konstante mit den Werten 1..8 definieren. Die vollständige Deklaration würde dann folgendermaßen aussehen:
CONST A = 1; B = 2; C = 3; D = 4; E = 5; F = 6; G = 7; H = 8;
TYPE Schachbrett = ARRAY[1..8,A..H] of Integer;
VAR S : Schachbrett;
|