Prefixform < Scheme < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:51 So 16.11.2008 | Autor: | wolle238 |
Aufgabe | Definieren Sie eine Scheme-Funktion (prefix-form e), die einen arithmetischen Ausdruck e, der in geklammerter Infix-Form gegeben ist, in den entsprechenden Ausdruck in geklammerter Präfix-Form umrechnet.
Aufrufbeispiel:
-> (prefix-form (3 + ((7 / 2) * 5)))
(+ 3 (* (/ 7 2) 5))
Begründen Sie, warum Ihre Funktion das Verlangte leistet. |
Ich bin am Verzweifeln! Keiner von uns hat ne wirkliche Idee für die Lösung bekommen! Kann mir jemand dabei weiter helfen??
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 09:21 Mo 17.11.2008 | Autor: | rainerS |
Hallo!
> Definieren Sie eine Scheme-Funktion (prefix-form e), die
> einen arithmetischen Ausdruck e, der in geklammerter
> Infix-Form gegeben ist, in den entsprechenden Ausdruck in
> geklammerter Präfix-Form umrechnet.
> Aufrufbeispiel:
> -> (prefix-form (3 + ((7 / 2) * 5)))
> (+ 3 (* (/ 7 2) 5))
> Begründen Sie, warum Ihre Funktion das Verlangte leistet.
> Ich bin am Verzweifeln! Keiner von uns hat ne wirkliche
> Idee für die Lösung bekommen! Kann mir jemand dabei weiter
> helfen??
Ist dir aufgefallen, dass das Argument der Funktion prefix-form eine Liste mit drei Elementen ist, von der Form
(Operand1 Operator Operand2) ?
Jeder Operand ist entweder eine Zahl oder wieder so eine Liste.
Der Rest ist Rekursion.
Viele Grüße
Rainer
|
|
|
|