Programmiersprache Pascal

Parameterübergabe an Unterprogramme

Parameterlisten enthalten Aufzählungen der Gestalt
  io parameter_1 : datentyp_1; ...; io parameter_n : datentyp_n
io legt die Art der Parameterübergabe fest.
Es gibt folgende Möglichkeiten: Hinweis:
Ein fehlendes VAR im Prozedurkopf bei Ausgabegrößen ist bei einer Reihe von Pascal-Systemen nicht selten Ursache von Fehlern:
Innerhalb der Prozedur wird der gewünschte Wert zwar berechnet, jedoch nicht an die aufrufende Programmeinheit übergeben.

Beispiel:

  PROCEDURE add(x, y, z: INTEGER);
  BEGIN
    z := x + y;
  END;
Turbo Pascal z.B. wird die Summe berechnen, den berechneten Wert jedoch nicht an die aufrufende Programmeinheit zurückliefern.
Korrekt wäre
  PROCEDURE add(x, y: INTEGER; VAR z: INTEGER);
Denkbar wäre, daß ein "wachsamer" Compiler die Veränderung eines Wertparameters verbietet oder zumindestens mittels einer Warnung darauf aufmerksam macht.



P. Böhme, 12.08.1996