7. Programmeinheiten
 
zurück
7.7.2 Prozeduren


Eine Prozedurspezifikation hat die Form: procedure <name> [<parameter_liste>];

Der Unterprogrammname (<name>) soll als Prozedurname die Aufgabe der Prozedur aus Sicht der aufrufenden Programmmeinheit bezeichnen. Als <name> sind nur Bezeichner erlaubt.

In der Parameterliste <parameter_liste> werden zu jedem Parameter - sofern vorhanden (eine Parameterliste kann auch leer sein) - der Parametermodus und der Typ angegeben.

Beispiel

procedure Verdopple (Eingabe : in     Integer;
                     Ausgabe :    out Integer );

Die Prozedur Verdopple soll den Wert des Parameters Eingabe verdoppeln und dann dem Parameter Ausgabe zuweisen.

Da der Parameter "Eingabe" in dieser Prozedur nur gelesen, der Parameter "Ausgabe" nicht gelesen, sondern nur verändert werden soll, wird diese Absicht mit den entsprechenden Parametermodi (in / out) angezeigt.

Ein Prozedurrumpf hat die Form:

procedure <name> <parameter_liste> is
<lokale Vereinbarungen>
begin
<Anweisungen>
end <name>;

In den Prozedurrumpf wird die Prozedurspezifikation wieder aufgenommen.Dann kann ein lokaler Vereinbarungsteil (<lokale Vereinbarungen>) folgen, um lokale Typen, Variable oder auch untergeordnete Programmeinheiten zu deklarieren.

Der Anweisungsteil wird durch begin und end geklammert.

Es muß nicht zu jedem Prozedurrumpf eine explizite Spezifikation geben. Der Text am Anfang eines Rumpfes kann als implizite Spezifikation dienen. Eine implizite Spezifikation ist z. B. dann ausreichend, wenn eine Prozedur lokal in einer Programmeinheit verwendet wird, da sie nicht nach außen bekanntgegeben wird.. kann als implizite Spezifikation dienen. Eine implizite Spezifikation ist z. B. dann ausreichend, wenn eine Funktion lokal in einer Programmeinheit verwendet wird, da sie nicht nach außen bekanntgegeben wird.

Beispiel:

procedure Verdopple (Eingabe : in     Integer;
                     Ausgabe :    out Integer) is
begin
   Ausgabe := 2 * Eingabe;
end Verdopple;


Die Prozedur "Verdopple" multipliziert den Eingabeparameter "Eingabe" mit 2 und schreibt das Ergebnis in den Ausgabeparameter "Ausgabe".


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