Operation Manual

Seite 21-38
« Enter a: {:a: {2 0} V } INPUT OBJ→→ a « 2*a^2+3
NUM F TAG » »
Modifizieren Sie sie wie folgt:
« Enter a: {:a: {2 0} V } INPUT OBJ→→ a « 2*a^2+3
EVAL F TAG a SWAP» »
(Beachten Sie, dass die Funktion SWAP über die Tastenfolge „°@)STACK
@SWAP@) aufgerufen wird. Speichern Sie das modifizierte Programm wieder
mithilfe von @FUNCa unter FUNCa. Starten Sie das Programm durch Drücken
von @FUNCa. Geben Sie, wenn Sie hierzu aufgefordert werden, den Wert 2 ein,
und drücken Sie `. Als Ergebnis erhalten Sie die gekennzeichneten Zahlen
a:2. in Stack-Ebene 2 und F:11. in Stack-Ebene 1.
Um sich die Funktion FUNCa Schritt für Schritt anzuschauen, können Sie die
Funktion DBUG wie folgt verwenden:
³ @FUNCa ` Kopiert den Programmnamen in Stack-
Ebene 1
„°LL @)@RUN@ @@DBG@ Startet die Fehlersuche (den Debugger)
@SST
@ Schrittweise Fehlersuche, Ergebnis:
“Enter a:”
@SST
@ Ergebnis: {“ a:” {2 0} V}
@SST
@ Ergebnis: Anwender wird aufgefordert, für
a einen Wert einzugeben
Anmerkung: Da wir einen Eingabestring für die Eingabe der Daten
verwenden, speichert die lokale Variable a einen gekennzeichneten Wert (in
obigem Beispiel :a:2 ). Daher müssen wir es für die Ausgabe nicht
kennzeichnen. Wir müssen nur in das Unterprogramm ein a vor die SWAP-
Funktion einfügen und die gekennzeichnete Eingabe wird in den Stack
geschrieben. Es soll noch mal darauf hingewiesen werden, dass bei der
Ausführung einer Funktion die Markierung der Eingabe automatisch
weggelassen und nur deren numerischer Wert bei der Berechnung verwendet
wird.