Gedächtnisprotokoll SE-3FP09-1

Aus Fachschaft_Informatik
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

[Bearbeiten] Softwareentwicklung III - Funktionale Programmierung, Klausur 1 WS08/09

Bearbeitungszeit: 120 Minuten

Insgesamt 70 Punkte, für jede Aufgabe insgesamt 10


[Bearbeiten] Aufgabe 1 - Auswerten und Notation

(* (- 6 5) 2)
(car '(((Foo) bar) bla))
(cdr '(((Noch) so) ein Ausdruck))
(map car '((1 . 1) (1 . 2) (1 . 3)))
(filter number? '(#t drei "vier" 42 (1 2)))
1 - 4 * 3 + 2
Fehler beim Parsen (Syntaxfehler): \sqrt{1 - \cos^2 3.1414}
...


[Bearbeiten] Aufgabe 2


[Bearbeiten] Aufgabe 3 - Rekursion

...noch mehr glaub ich, Ideen?


[Bearbeiten] Aufgabe 4 - Eigene Datenstruktur

Diese Aufgabe findet sich in ähnlicher Form in den Klausurvorbereitungen mit dem Umrechnen von Längenangaben.

(make-deposit 5 'Euro) -> (5 Euro)
(amount-of x) -> 5
(currency-of x) -> Euro
(multiply-deposit x 3) -> 15 Euro
(define *Kurse* '(
 ; Wert der Währung in Euro
 (0.15 . NOR)
 (0.71 . USD)
 (1.00 . Euro))
(deposit->Euro '(10 USD)) -> (7.10 Euro)
(deposit+ '(10 USD) '(2.10 Euro)) -> (10 Euro)

[Bearbeiten] Aufgabe 5 - Funktionen höherer Ordnung

Funktionen höherer Ordnung - hier sollte man wo möglich apply, reduce, map, filter etc. pp. benutzen. Alles unter Zuhilfenahme der Funktionen, die man in der Aufgabe 4 geschrieben hat.

(Kasse->Euro '( (10 USD) (2.10 Euro))) -> ( (7.10 Euro) (2.10 Euro) )
(betrag '( (10 USD) (2.10 Euro) )) -> (10 Euro)
(betragWährung '( (10 USD) (2.10 Euro) ) 'USD ) -> ((10 USD))
(betragWährungSumme '( (10 USD) (2.10 Euro) ) 'USD ) -> (7.10 Euro)


[Bearbeiten] Aufgabe 6 - CLOS


[Bearbeiten] Aufgabe 7 - Prolog-in-Scheme

Gegeben sind ein paar Relationen, etwa wie folgt:

sowie ein paar Beispieltupel mit etwa acht Angeboten für drei verscheidene Kamera und drei oder vier Hersteller, die alle untereinander durch die IDs verlinkt sind.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Fachschaft
Werkzeuge