Programmiersprache Pascal

Zuweisungs-Operatoren

"Normaler" Zuweisungs-Operator
  :=     Zuweisung
Mehrfachzuweisungen, wie sie in einigen Programmiersprachen (Algol 60, C) erlaubt sind, können in Pascal nicht vorgenommen werden.

Beispiel:

  a := b := c = 0;            { !! nicht erlaubt !! }

  a := 0; b := 0; c := 0;

Inkrement-/Dekrement

Spezielle Unterstützung gibt es in Programmiersprachen oft für das Weiterzählen um 1 bzw. für die Erniedrigung des Wertes um 1.
Diese häufig benötigten Operationen lassen sich intern effektiver realisieren als über normale Addition bzw. Subtraktion mit 1.

Standard Pascal stellt Funktionen bereit, die für ordinale Datentypen den nächst kleineren bzw. größeren Wert bereitstellen:

  Pred(x)     liefert den Vorgänger von x
  Succ(x)     liefert den Nachfolger von x
Handelt es sich bei x um einen ganzzahligen Wert, so liefert Pred(x) den Wert x-1 und Succ(x) den Wert x+1.

Manche Pascal-Systeme bieten für die Integer-Datentypen spezielle Prozeduren an:

  Dec(x)      Dekrementierung, liefert x-1
  Inc(x)      Inkrementierung, liefert x+1
Dies trifft beispielsweise für Turbo Pascal und Delphi zu.
Weder Standard Pascal noch Extended Pascal sehen diese beiden Funktionen vor, da ihre Funktionalität bereits durch Pred bzw. Succ abgedeckt wird.

Beispiel:

  VAR x : INTEGER;

  Inc(x);                   { der Wert von x  }
  x := Succ(x);             { wird jeweils um }
  x := x + 1;               { Eins erhöht     }

Extended Pascal

Es gibt erweiterte Varianten der Funktionen Pred und Succ:

  Pred(x, k)    liefert den Wert, der den gleichen ordinalen Datentyp
                wie x und den Ordinalwert Ord(x)-k besitzt
  Succ(x, k)    liefert den Wert, der den gleichen ordinalen Datentyp
                wie x und den Ordinalwert Ord(x)+k besitzt
Es gilt:
  Pred(x) = Pred(x, 1) = Succ(x, -1)
  Succ(x) = Succ(x, 1) = Pred(x, -1)

Delphi

Die erweiterten Varianten von Pred und Succ werden auch durch Delphi unterstützt.

Außerdem stehen auch für Inc und Dec erweiterte Varianten zur Verfügung:

  Inc(x, n)           { liefert x + n }
  Dec(x, n)           { liefert x - n }


P. Böhme, 06.09.1996