7. Programmeinheiten
 
zurück
7.8 Aufruf von Unterprogrammen


Ein Funktionsaufruf (function_call <BNF>) erscheint in einem Ausdruck. Der Funktionsaufruf aktiviert die Ausführung der Funktion. Nach Beendigung der Ausführung muß der Rückgabewert der Funktion von dem Ausdruck verarbeitet werden.

Beispiel 1:

Ergebnis := Bsp_UP.Maximum (Links => 1, Rechts => 2);

Die Funktion "Maximum" wird in einer Zuweisung verwendet. Das Ergebnis von "Maximum" wird in die Variable "Ergebnis" geschrieben..

Beispiel 2:

if Bsp_UP.Zufallszahl = 6 then
   Ada.Text_IO.Put_Line ("SIE HABEN GEWONNEN");
end if;


Im diesem Beispiel liefert die parameterlose Funktion "Zufallszahl", deren Spezifikation

function Zufallszahl return Wuerfel_Typ;


ist, einen Wert vom Typ "Wuerfel_Typ" zurück. Das Ergebnis dieser Funktion wird zum Vergleich mit einem Literal verwendet. Es ist nicht erforderlich, das Ergebnis der Funktion zwischenzuspeichern.

Ein Prozeduraufruf (procedure_call_statement <BNF>) ist eine Anweisung und dient zum Ausführen der durch die Prozedur festgelegten Folge von Anweisungen. Während eine Funktion genau einen Rückgabe-wert hat und alle Parameter Eingabe-Parameter sind, kann eine Prozedur Parameter in allen drei Modi "in", "out", "in out" und somit auch mehrere Rückgabewerte haben.

Das Beispiel zeigt zwei Aufrufe der Prozedur "Verdopple". Sie unterscheiden sich in der Verwendung von zwei verschiedenen Arten von Aktualparametern für den Formalparameter "Eingabe".


-- Deklarationsteil
Einsatz : Integer := 23;
Ergebnis : Integer;
...
-- Ausführungsteil
Bsp_UP.Verdopple (Eingabe => 1, Ausgabe => Ergebnis); -- Verwendung ganzzahliges Literal

Bsp_UP.Verdopple (Eingabe => Einsatz, Ausgabe => Ergebnis); -- Verwendung vorbesetzte Variable



 
zurück
 Index   Ada Tour - Dokumentation  
© 2003 Förderverein Ada Deutschland e.V.