(
Bis jetzt haben wir Parameter nur dazu benutzt, um Werte an die Prozedur zu überge-
ben. Angenommen, die Kosten eines Postens müssen wieder an das Hauptpro-
gramm übergeben werden, damit eine Gesamtrechnung
Dies kann problemlos über einen anderen Parameter in dem Prozeduraufruf erfol-
gen. Als aktueller Parameter muß eine Variable eingesetzt werden, da sie einen Wert
aus der Prozedur empfangen muß. Dies bezeichnen wir als Ausgabe-Parameter. Für
diesen Parameter muß ein entsprechender variabler Parameter in der Prozedurdefi-
nition vorhanden sein.
Benutzen Sie aktuelle Ausgabe-Parameter, kosten.s.t
der Variablen, preis, aus der Prozedur aufzunehmen. Das Hauptprogramm berech-
net die Gesamtrechnung und druckt sie aus.
100 REMark Ausgabeparameter
110 LET nummer
120 posten
130 posten
140 LET rechnung
150 PRINT rechnung
160 DEFine PROCedure posten(nummer,kosten)
170
180
190 END DEFine
1730
Die Parameter, nummer und preis, sind beide automatisch lokal, so daß es zu keinen
Problemen kommen kann. In den Diagrammen wird dargestellt, wie Informationen
aus dem Hauptprogramm in die Prozedur und wieder zurückübergeben werden.
Haupt-
programm
I
L
Damit fürs Erste genug von Prozeduren und Parametern.
Sie wissen schon, wie eine Systemfunktion benutzt wird. So berechnet beispiels-
weise die Funktion:
SQRT(9)
den Wert 3, d. h. die Quadratwurzel von 9. Die Funktion gibt den Wert 3 zurück. Eine
Funktion kann wie eine Merkmal einer Funktion besteht jedoch darin, daß sie genau
einen Wert zurückgibt. Dies bedeutet, daß Sie die Funktion in schon vorhandenen
Ausdrücken benutzen können. So können Sie:
PRINT 2*SQRT(9)
eingeben und als Ausgabe 6 erhalten. Somit verhält sich eine Funktion wie eine Pro-
zedur mit einem oder mehreren Eingabe-Parametern. Der Funktionsname selbst der
den zurückgegebenen Wert enthält, kann als Ausgabe-Parameter aufgefaßt werden.
Die Parameter brauchen keine numerischen Parameter zu sein.
LEN("string"
verfügt über einen String-Parameter, gibt jedoch den numerischen Wert 6zurück.
Schreiben Sie das Programm des letzten Abschnitts neu, in dem preis als Ausgabe-
Parameter benutzt wurde. Preis soll nun der Name der Funktion sein.
(
Der zurückzugebende
men zugewiesen, wie folgendes Beispiel zeigt.
3/85
320
=
3, kos t eru..l
4, kosten._2
+
nummer
=
<=
IF nummer
3 THEN LET kosten
>=
IF nummer
4 THEN LET kosten
Menünummern
I"
Preise
)
Wert wird durch die RETurn-Anweisung dem Funktionsna-
aufgestellt werden kann.
und kosten___2, um die Werte
+
kosten._1
kosten._2
+
=
900
10 * nummer
=
120 * nummer
..
Prozedur-
Posten
PROZEDUREN
UNO FUNKTIONEN
AUSGABE-
PARAMETER
BEISPIEL
Programm
Ausgabe
FUNKTIONEN
BEISPIEL
89