Eine Variable läßt sich unter zwei verschiedenen Gesichtspunkten betrachten. Einerseits dient sie zur Programmlaufzeit zur Speicherung von veränderlichen (variablen) Werten, wie Zwischenergebnisse oder Zustände des Programmes. Andererseits besitzt sie konstante Eigenschaften: Eine Variable wird über einen festen Namen (Variablenbezeichner) identifiziert. Außerdem kann sie nur eine gewisse Klasse von Werten speichern (z.B. nur Zeichen oder nur Zahlen).
Diese konstanten Eigenschaften werden im Vereinbarungsteil eines Pascalprogrammes für jede im Anweisungsteil benutzte Variable festgelegt. Sinnvollerweise wird man Variablen einen Namen geben, der ihre Bedeutung im Programm widerspiegelt:
PROGRAM VARIABLENDEKLARATION(OUTPUT); VAR I: INTEGER; ZAEHLER: INTEGER; GEHALT: REAL; DELTA: REAL; GEFUNDEN: BOOLEAN; ALTER: INTEGER; BUCHSTABE1: CHAR; BEFEHL: CHAR; ENDE: BOOLEAN; BEGIN END.
Eine Variablendeklaration beginnt mit dem reservierten Wortsymbol VAR. Anschließend werden die Namen aller im Programm verwendeten Variablen aufgeführt. Für jede Variable wird nach einem Doppelpunkt ihr Typ angegeben. Der Typ definiert die oben erwähnte Klasse von Werten, die eine Variable annehmen darf.
In diesem Beispiel werden die Typen durch vordefinierte Typnamen angegeben. An dieser Stelle sei nur soviel gesagt, daß die Variablen I, ZAEHLER und ALTER nur ganze Zahlen, GEHALT und DELTA reelle Zahlen, BUCHSTABE1 und BEFEHL jeweils nur ein Zeichen speichern können. Die Variablen GEFUNDEN und ENDE speichern hingegen Wahrheitswerte.
Die obige Variablendeklaration kann auch wie folgt abgekürzt werden:
VAR I, ZAEHLER, ALTER: INTEGER; GEHALT, DELTA: REAL; BUCHSTABE1, BEFEHL: CHAR; GEFUNDEN, ENDE: BOOLEAN;
Um Mißverständnissen vorzubeugen, sei gesagt, daß die gewählte Anordnung der Deklarationen keine Bedeutung für den Compiler besitzt. Dieser beachtet nur die Reihenfolge der Symbole und nicht das Layout des Programmes, so daß folgender Quelltext ebenfalls korrekt ist
VAR I,ZAEHLER,ALTER:INTEGER;GEHALT,DELTA:REAL;BUCHSTABE1, BEFEHL:CHAR;GEFUNDEN,ENDE:BOOLEAN;
Jedoch sollte sich auch ein Mensch in Ihren Programmen zurechtfinden, für den Einrückungen die Übersicht sicher stark erhöhen.
Der entscheidende Vorteil einer expliziten Deklaration jeder Variablen am Programmanfang ist neben einer Dokumentation des Programmes die Möglichkeit, schon während der Übersetzung die Korrektheit von Operationen zu prüfen. Die folgende Zuweisung, die einer Variablen für ganze Zahlen ein Zeichen zuordnen würde, kann sofort vom Compiler als fehlerhaft erkannt werden:
PROGRAM TYPFEHLER (INPUT,OUTPUT); VAR ZAEHLER: INTEGER; BEFEHL : CHAR; BEGIN ZAEHLER:= BEFEHL END.
Die Zuweisung ZAEHLER:= BEFEHL wird vom Compiler mit dem folgenden Fehlertext markiert:
144 ILLEGAL TYPE OF EXPRESSION
Versuchen Sie im Programm eine undeklarierte Variable zu verwenden, so erhalten Sie vom Compiler die Fehlermeldung
59 ERROR IN VARIABLE (VARIABLE IDENTIFIER EXPECTED)
Während in BASIC jede Variable zum Programmbeginn mit dem Wert 0 bzw. dem leeren String vorbelegt wird, sind die Werte aller Variablen in Pascal zum Beginn der Programmausführung undefinert.