Hi Leute,
Fr. Dreschler-Fischer hat im Scheme-Skript am Ende Fragen formuliert, die wir zur Vorbereitung auf die Klausur nutzen sollen. Zwei Fragen davon sind mir nicht so ganz klar, drum stelle ich sie hier einmal und hoffe auf Antworten:
"Auf welche Grundoperationen bezieht man sich bei der funktionalen Programmierung? [Erklären Sie den special form operator Lambda]"
"Für welches problem würdte Ihr den Algorithmus zur Lösung lieber in Prolog oder Scheme programmieren und warum???"
LG Frischling
Also mein Übungsleiter hat mir gesagt, dass die Fragen die im Scheme Skript sind, sehr konfus gestellt sind, und daher auch nicht so beachtet werde sollen. Die Ü-Leiter haben selbst einige fragen davon nicht verstanden und das auch Loeni gesagt. Also keine Bange!!
Also mein Übungsleiter hat mir gesagt, dass die Fragen die im Scheme Skript sind, sehr konfus gestellt sind, und daher auch nicht so beachtet werde sollen. Die Ü-Leiter haben selbst einige fragen davon nicht verstanden und das auch Loeni gesagt. Also keine Bange!!
Moin!
Ich hab auch das Gefühl, dass die Aufgaben uns eher sagen sollen: "Lest noch mal das Skript durch, damit ihr in der Klausur wisst, wo ihr diese Begriffe nachschlagen könnt."
Am besten alles beherzigen, was man so hört: Probeklausur machen und hoffen, dass der Prolog-Teil in der richtigen Klausur dieses Jahr so (und nicht schwerer) wird, und dass der Scheme-Teil genauso aussieht.
Viel Erfolg morgen!
SK
Ich denk mal gemeint ist die Auswertung eines Ausdrucks. In Prolog wuerde ich als Grundoperation die Suche und die Unifikation nennen. In Scheme wuerde ich sagen es ist die Auswertung eines funktionalen Ausdrucks und seine folgende Reduktion (Substitution) durch diesen Wert.
Der special form operator Lambda dient dazu eine Funktion zu erzeugen. Sinnvoller waere wahrscheinlich 'make-function' oder so, aber (aehnlich wie bei car und cdr), ist lambda historisch aus dem Lambda-Kalkuel entstanden und so geblieben.
Fuer Probleme der Sprachverarbeitung (sowas wie Eliza z.B. oder allgm. alles wo Text eingelesen und irgendwie weiterverarbeitet wird) wuerde ich lieber Prolog benutzen, da hier durch die "eingebaute" (und optimierte) Unifikation und Suche nicht der Mehraufwand noetig ist, denn wir z.B. bei Eliza in Scheme machen mussten um die Variablen benutzen zu koennen.
Fuer numerische Probleme wuerde ich lieber Scheme benutzen, da Prolog fuer Berechnungen weniger geeignet ist und Scheme (als funktionale Programmiersprache) sehr dicht an der Mathematik dran ist (sowas wie f(x) = y also ich habe eine Funktion gebe ihr einen Wert und kriege einen raus). Das macht das Uebertragen einer mathematischen Formel in Scheme leichter.
Cheers,
Frank