310
(
320 END DEFi ne
330 DEFine PROCedure keLLner(gericht,
340
350
360 END DEFi ne
370 DEFine PROCedure rechnen(gericht,
380
390
400
410
420 END DEFine
430 DEFine PROCedure koch(gericht)
440
450
460
470 END DEFi ne
480 REMark
490 DATA "GarneLen",
Die Ausgabe hängt von der zufälligen Auswahl von Gerichten ab. Die folgende Aus-
(
gabe stellt ein Muster dar.
2 GarneLen
1 Hühnchen
3 SpeziaL
Sie müssen insgesamt
Sicherlich ist die Benutzung von Prozeduren und Parametern in einem so einfachen
Programm nicht erforderlich. Denken Sie aber daran, daß jede Unteraufgabe we-
sentlich komplexer sein könnte. In einer derartigen Situation würde die Benutzung
von Prozeduren einen modularen Aufbau des Programms mit einem Test auf jeder
einzelnen Stufe ermöglichen. Mit dem obigen Beispiel werden nur die wichtigsten
Schreibweisen und Beziehungen der Prozeduren dargelegt.
Gleichermaßen verdeutlicht das nächste Beispiel die Benutzung von Funktionen.
In dem vorhergehenden Beispiel haben die Prozeduren kellner und rechnen beide
genau einen Wert zurückgegeben.
Schreiben Sie die Prozeduren nun als Funktionen neu und legen Sie sämtliche
dadurch erforderlich werdenden Änderungen dar.
DEFine FuNction kellner(gericht)
koch gericht
(
RETurn rechnen(gericht)
END DEFine
DEFine FuNction rechnen(gericht)
LET summe
FOR k
LET summe
END FOR k
RETurn summe
END DEFine
Der Funktionsaufruf für kellner erhält ebenfalls eine andere Form.
LET rechnung
Dieses Programm wird wie vorher ausgeführt. Allerdings sind weniger Parameter
vorhanden, obwohl die Programmstruktur ähnlich ist. Dies ist darauf zurückzufüh-
ren,daß die Funktionsnamen gleichzeitig als Parameter benutzt werden, die Informa-
tionen an den Funktionsaufruf zurückgeben.
(
3/85
END FOR aussuchen
rechnen
gericht,
kosten
koch geri cht
LET insgesamt
0
=
FOR k
1 TO 3
=
LET insgesamt
insgesamt
=
END FOR k
FOR c
1 TO 3
=
PRINT!
geri cht (c)
! posten$(c)
END FOR c
***
Programm-Daten
3.5,
"SpeziaL",
3.3
DM21.67
0
=
1 TO 3
=
+
summe
gericht(k)*preis(k)
=
keL Lner(geri
=
kosten)
insgesamt)
*
+
gericht(k)
preis(k)
***
"Hühnchen",
2.8,
bezahLen
cht)
PROZEDUREN UNO FUNKTIONEN
Ausgabe
Kommentar
93