Claus Schönleber

Hitchhacker´s Guide To PASCAL  [Vol. 2]

 [ weiter ]
   [ Start | Beispielprogramme Download | Home

Inhalt

Typisierte 
 Konstanten
Sets (Mengen)
Rekursion
Records
Dateien
 (Random Access)
Pointer
Algorithmen
- Hashing
- Sortieren
 

zurück zu Teil 1...

 

Typisierte Konstanten (Turbo PASCAL)

Diese Variante einer Konstanten ist eine Turbo PASCAL Spezialität. Sie soll trotzdem hier besprochen werden, da dieser Compiler ziemlich verbreitet ist und das ganze recht praktisch sein kann. Der Name Konstante ist nicht korrekt, denn es ist eigentlich eine Variable, die in der Deklaration mit einem bestimmten Wert vorbesetzt werden kann. Dieses Verfahren ist in Sprachen wie C, C++ und Java inzwischen Standard.

Die Argumentation aus dem Turbo PASCAL Handbuch ist nicht sehr treffend: Typisierte Konstanten können nämlich im Gegensatz zu normalen Konstanten als Referenzparameter in PASCAL-Moduln übergeben werden. Viel wichtiger ist die Tatsache, kompliziertere Strukturen als Variablen mit konstanten Werten zu belegen, ohne daß eine Initialisierung im eigentlichen Programmtext stört. Es handelt sich also eigentlich um "variable Konstanten". Man spart sich damit einfach eine unzählige Reihe von Zuweisungen.

Uns interessieren hier nur strukturierte typisierte Konstanten, also konstante Felder.

Deklaration:

CONST <name> : ARRAY [<indextyp>] OF <komponententyp> = (<Konstantenliste>);
Beispiel:

1)

CONST ziffern : ARRAY [0..9] OF char = ('0','1','2','3,'4','5','6','7','8','9');
2)
CONST blumen : ARRAY [1..3] OF STRING [10] = ('Rose','Nelke','Tulpe');
Im Programm kann man dann wie gewohnt auf die Feldelementinhalte zugreifen. Man kann solche "Konstanten" in Fällen einsetzen,  in denen eine bestimmte Anzahl von Konstanten benötigt wird, die zu einer definierten Menge gehören. Zum Beispiel ein Programm zur Analyse von PASCAL-Quelltexten (siehe später); hier kann man alle reservierten Worte in so einem Konstantenfeld unterbringen. Man kann sich leicht andere Beispiele ausdenken.
 [ weiter ]
   (c) 2001 Schoenleber.com