
Ein Aufzählungsdatentyp wird wie folgt deklariert:
TYPE name = (wert_1, ..., wert_n);wert_1, ..., wert_n sind die Bezeichner der Werte, die für den Datentyp zulässig sind.
In der Typdeklaration werden alle Werte, die zum Wertebereich des Datentyps
gehören, explizit aufgezählt.
Implementationsspezifisch existiert in einem Pascal-System eine obere Grenze
für die Anzahl der zulässigen Werte. Diese Grenze sollte mit dem
Wertebereich von INTEGER in Zusammenhang stehen und so groß
sein, daß sie für die praktische Arbeit ohne Bedeutung ist.
Rechnerintern werden die Werte als ganze Zahlen realisiert.
Aufzählungsdatentypen gelten deshalb als eingeschränkte
Datentypen.
Aufzählungsdatentypen sind ordinale
Datentypen.
Es gilt:
wert_1 < wert_2 < ... < wert_n Ord(wert_1) = 0 Ord(wert_2) = 1 ... Ord(wert_n) = n-1Operatoren
Anwendbar sind alle Vergleichsoperatoren:
< <= > >= = <>Arithmetische Operationen sind nicht möglich !
Standardfunktionen
Anwendbar sind folgende Funktionen
Ord(x) Ordinalwert von x Pred(x) Vorgänger von x Succ(x) Nachfolger von xPred(wert_1) und Succ(wert_n) sind nicht definiert.
Einschränkung bei der Verwendung von Aufzählungsdatentypen
Variablen mit Aufzählungsdatentyp können weder in Eingabe- noch in
Ausgabeanweisungen explizit auftreten !
Die Werte eines Aufzählungsdatentyps dienen nur zur Verbesserung der
Lesbarkeit des Quelltextes !
Für die Eingabe- und Ausgabe der Werte von Aufzählungsdatentypen muß entweder auf die Ordinalwerte oder auf speziell zu erstellende Unterprogramme zurückgegriffen werden.
Beispiel:
TYPE farbe = (rot, gruen, blau); Ord(rot) = 0 Ord(gruen) = 1 Ord(blau) = 2 Succ(rot) = gruen Pred(gruen) = rotBeispiel:
TYPE farbe = (rot, gelb, gruen);
aktion = (warten, schalten, fahren);
zustand = ARRAY[farbe] OF aktion;
VAR z : zustand;
z[rot] = warten;
z[gelb] = schalten;
z[gruen] = fahren;
Hinweis: