Kommunikation mit Scheme
Im Hintergrund der Arbeitsblätter, die Sie hier verwenden werden, arbeitet ein Scheme-Interpreter. Sie können mit ihm in direkten Dialog treten, indem Sie die entsprechenden Ausdrücke von diesem Interpreter evaluieren lassen: speichern & ausführen.
Aufgabe 1:
Sagen Sie die jeweilige Antwort des Interpreters vorher. Vergleichen Sie anschließend die Antworten des Scheme-Systems mit Ihren Vorhersagen.
Hinweis: die Zahlen (number) werden nicht nur "nachgeplappert".
Sollten Sie nach einiger Überlegung die Antwort trotzdem nicht nachvollziehen können, schauen Sie ins Manual. Alternativ können Sie auch den Help Desk von DrScheme verwenden. <eval>4</eval> <eval>12345</eval> <eval>0.8439</eval> <eval>-.590</eval> <eval>-0</eval> <eval>7/3</eval> <eval>24/3</eval> <eval>9e-8</eval> <eval>#b1101</eval> <eval>#x1001</eval>
Aufgabe 2:
In dieser Aufgabe geht es wieder um die Scheme-Antworten, genauer, um den REPL. Übernehmen Sie die Aufgabenstellung von oben und wenden Sie sie auf Symbole (symbol) an. Klären Sie die Ursache und Bedeutung eventueller Fehlermeldungen! <eval>Hi Scheme</eval> <eval>pi</eval> <eval>*</eval> <eval>sqrt</eval> <eval>sin</eval> <eval>#t</eval> <eval>#f</eval>
Aufgabe 3:
Erschließen bzw. wiederholen Sie die Bedeutung des einfachen Hochkommas (quote, auf der Taste mit der Raute) für die Evaluation eines Schemeausdrucks. Geben Sie folgende Ausdrücke ein und vergleichen Sie die Ausgaben mit den vorherigen (ohne quote). <eval>'Hi Scheme</eval> <eval>'pi</eval> <eval>'*</eval> <eval>'sqrt</eval> <eval>'sin</eval> <eval>'#t</eval> <eval>'#f</eval>
Aufgabe 4:
Sehen Sie sich die folgenden beiden Ausdrücke an und überlegen Sie sich die potenzielle Antwort des Interpreters. Worin liegt der entscheidende Unterschied zwischen den beiden Ausdrücken hinsichtlich ihrer Evaluation?
Hinweis: Nutzen Sie den Help-Desk von DrScheme, wenn Ihnen die Bedeutungen von quote, quasiquote und unquote unklar sein sollten. <eval>(quote ("Hallo" ,name))</eval> <eval>(quasiquote ("Hallo" ,name))</eval>
Aufgabe 5:
Ermitteln Sie die Werte der folgenden Scheme-Ausdrucke im Kopf und uberprufen Sie diese anschlie�end in Scheme. ( + 3 ( * 4 ( - 10 4 ) ) ) ... ( * ( - 2 ( + 2 0 ) ) 45 ) ... ( + ( * 4 5 ) ( / 4 5 ) ) ... ( + ( * 4.0 5.0 ) ( / 4.0 5.0 ) ) ...
Aufgabe 6:
Wandeln Sie die folgenden mathematischen Ausdrucke in syntaktisch korrekte Schemeausdrucke um. Geben Sie diese anschlie�end ein. (4 � 5) + 100 (9 � (5 3)) (13 1) = (1 + 2) (6 + (2 � (3 + 12)) =5)
Aufgabe 7:
Notieren Sie die folgenden verbal gegebenen Ausdrucke in Scheme und machen Sie sich klar, wie deren Evaluation ablauft. � die Summe der Zahlen 1, 2, 3, 4 und 5 � das Produkt aus 3 und der Summe aus 8 und 9 � die Zeichenkette aus dem Wort \Hallo ", der Verkettung der Buchstaben O, t, t, o und ! Hinweis: Schlagen Sie im Manual unter string und string-append nach und ermitteln Sie den Typ der Argumente und des jeweiligen Ruckgabewertes dieser Prozeduren.
Aufgabe 8:
Stellen Sie die Pradikate zur Typprufung fur Zahlen, Zeichen und Zeichenketten zusammen. Schlagen Sie in einschlagigen Handbuchern bzw. Dokumentationen, z.B. R5RS (Scheme Standard), nach. Ein solches Pradikat ist eine einstellige 3 Prozedur, das hei�t eine Prozedur, die genau ein Argument erwartet und einen Wahrheitswert zuruckgibt. Geben Sie jeweils zwei erprobte Beispiele an. Beispiel: > (symbol? 'define)
- t
> (symbol? "define")
- f