PROZEDUREN UNO FUNKTIONEN
Programm
Ausgabe
WARUM
PROZEDUREN?
90
100 REMark FuNktion
110 LET nummer
320
=
120 LET rechnung
130 PRINT rechnung
140 DEFine
FuNction
<=
150
IF nummer
>=
160
IF nummer
170 END DEFine
1730
Beachten Sie, wie viel einfacher der Aufruf von Funktionen im Vergleich zu Prozedur-
aufrufen ist.
Letzten Endes kann eine Prozedur als "Black Box" verstanden
bestimmte Informationen von "außen"empfängt und bestimmte Operationen aus-
führt, in deren Rahmen auch bestimmte Informationen wieder nach "außen" zurück-
gesendet werden können. Mit "außen" kann das Hauptprogramm oder eine andere
Prozedur gemeint sein.
Der Ausdruck "Black Box" impliziert, daß die interne Arbeitsweise keine Rolle spielt.
Sie denken nur daran, was in diese "Black Box" hineingeht und was aus ihr heraus-
kommt. Benutzt eine Prozedur beispielsweise
deren Wert, so kann sich dies auf eine Variable desselben Namens im Hauptpro-
gramm auswirken. Denken Sie an ein Versandhaus. Sie senden einen Auftrag und
das Bargeld an das Versandhaus, das Ihnen dann die Ware schickt. Informationen
werden an eine Prozedur gesendet, die dann eine bestimmte Aktion ausführt oder
neue Informationen zurücksendet.
Auftrag mit Barzahlung
Information
Versandhaus
Dies wäre eine unerwünschte Nebenwirkung. Außerdem möchten Sie nicht, daß
eine Prozedur nicht geplante Änderungen an Werten von Variablen vornimmt, die in
dem Hauptprogramm benutzt werden.
Selbstverständlich können Sie verhindern, daß Variablennamen in einem Programm
nicht zweimal benutzt werden. Dies geht bis zu einem gewissen Punkt. Wir haben
jedoch in diesem Kapitel gezeigt, wie Probleme vermieden werden, selbst wenn Sie
vergessen, welche Variablen in einer bestimmten Prozedur benutzt wurden.
Als zweites werden Prozeduren dazu benutzt, ein Programm modular aufzubauen.
Anstatt ein langes Hauptprogramm zu benutzen, können Sie den Job in Teile auftei-
len, die Seymour Papert, der Erfinder von LOGO, als "geistesgerechte
bezeichnet hat. Eben dies sind die Prozeduren, wobei jede klein genug ist, um pro-
blemlos verstanden und benutzt werden zu können. Sie sind durch die Prozedurauf-
rufe in einer Folge oder Hierarchie miteinander verbunden.
Als drittes soll mit Prozeduren verhindert werden, daß eine Folge von Anweisungen
mehrmals geschrieben werden muß. Schreiben Sie sie einmal als Prozedur und
rufen Sie sie gegebenenfalls zweimal auf. Funktionen und ~rozeduren, die für ein
Programm geschrieben wurden, können häufig direkt ohne Anderung von anderen
Programmen benutzt werden. Auf diese Weise kann eine Bibliothek mit häufig
benutzten Prozeduren und Funktionen erstellt werden.
mit
RETurn
+
+
=
nummer
prei s (3)
preis(nummer)
+
3 THEN RETurn 900
*
4 THEN RETurn 120
nummer
eine Variable, zahl, und ändert sie
..
...
Mail
Order
Waren
Company
-
Procedure
prei s (4)
*
10
nummer
werden, die
Bissen"
3/85
(
(