Programmiersprache Pascal

Wert von Variablen und Konstanten

Konstanten

Symbolische Konstanten sind ein gutes Hilfsmittel, um Programme lesbarer und sicherer zu machen.

Symbolische Konstanten können im Deklarationsteil eines Blocks definiert werden:

  CONST name = wert;
In Standard Pascal sind dies der Programmblock und die Unterprogrammblöcke. In Extended Pascal können auch in einfachen Blöcken Konstanten deklariert werden.

Der Typ einer symbolischen Konstante wird nicht explizit spezifiziert, er leitet sich (eindeutig) aus dem angegebenen Wert ab.

wert ist entweder

Der Ausdruck muß zur Übersetzungszeit auswertbar sein, die Verwendung mathematische Funktionen wie Sin, Exp, usw. innerhalb des Ausdrucks ist somit nicht möglich.

Bemerkung:
Manche Pascal-Systeme lassen es zu, daß der Wert einer Konstante erst zur Laufzeit bestimmt werden kann.
Die Nutzung dieser Eigenschaft gefährdet jedoch die Portabilität.

Beispiele:

  CONST pi := 3.14159;                  { reellwertiger Datentyp }
        anzahl := 10;                   { ganzzahliger Datentyp }
        n := Ord('Z') - Ord('A') + 1;   { ganzzahliger Datentyp }
        ort := 'Halle';                 { Zeichenketten-Datentyp }
        esc := Chr(27);                 { Zeichen-Datentyp }
Achtung:
Die in Turbo Pascal üblichen "symbolischen Konstanten" sind Variablen (siehe unten).

Variablen

Variablen werden wie folgt deklariert:

  VAR name : typ1;
      name_1, ..., name_n : typ2;
Der Wert von Variablen ist bei Programmstart undefiniert.

Bei vielen Systemen erfolgt mitunter eine automatische Vorbelegung des Speicherbereichs, welcher den Variablen zugewiesen wird, mit binären Nullen.
Variablen mit einem numerischen Datentyp sind dann mit Null vorbelegt, Zeichenkettenvariablen mit der leeren Zeichenkette.
Eine solche Vorbelegung wird jedoch nicht von allen Systemen bzw. nicht in allen Situationen vorgenommen !
Programme, die eine Vorbelegung voraussetzen, sind nicht portabel !
Sie können sich von Lauf zu Lauf in ihrem Verhalten unterscheiden !

Anfangswertzuweisung an Variablen

Extended Pascal gestattet es, einer Variablen bei ihrer Deklaration einen Anfangswert zuzuweisen:

  VAR name : typ VALUE wert;
Mit Beginn der Lebensdauer besitzt die Variable den angegeben Wert.
Bei automatischen Variablen in einem Unterprogramm bedeutet dies, daß der Anfangswert bei jedem Aufruf des Unterprogramms hergestellt wird.

Pascal++ erlaubt als Spracherweiterung anstelle von VALUE auch die kürzere Angabe :=
Damit verbunden ist auch die Möglichkeit, den Wert erst zur Laufzeit zu bestimmen.

Auch Turbo-Pascal erlaubt Anfangswertzuweisungen:

  CONST name : typ = wert;
Etwas irreführend wird in der Turbo-Pascal-Sprachbeschreibung von "typisierten Konstanten" gesprochen, da die Deklaration der Variablen mit Hilfe von CONST anstelle von VAR erfolgt.
Es handelt sich dabei jedoch um Variablen, die im Unterschied zu "normalen" Variablen bereits bei Programmstart einen wohldefinierten Wert besitzen.
Der Wert einer "typisierten Konstante" ist wie der Wert einer Variablen veränderbar.

Turbo Pascal nimmt bei "typisierten Konstanten" eine Anfangswertzuweisung ausschließlich beim Programmstart vor:
Die so initialisierten Variablen sind statische Variablen. Dies unterscheidet sie von den "normalen" Variablen.

Variablen kann auf folgenden Wegen ein neuer Wert zugewiesen werden:



P. Böhme, 07.09.1996