Gedächtnisprotokoll SE-3LP09-1

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen

Die Logik- und die Funktionale-Klausur waren im selben Raum.

weitere Infos bitte - war es schwer?



Softwareentwicklung III - Logik Programmierung, Klausur 1 WS08/09

Bearbeitungszeit: 120 Minuten

Insgesamt 60 Punkte.


Aufgabe 1

Geben Sie die Ausgabe am Systempromt an.

add(3,5,Summe) = add(Summand1,Summand2,7).

... eine unifikationsaufgabe mit einer liste

... eine mit floor

... eine mit abs


Aufgabe 2

Was bewirkt ein cut?


Geben Sie ein Beispiel mit cut an.


... noch eine frage zu cut


Aufgabe 3

Es wurde eine Datenbank für eine kleine Videothek gegeben.

%kunde(Name, Vorname, Kundennummer, Straße, Stadt)

%film(Filmnummer, Name, Kategorie)

%datentraeger(Datentraegernummer, Medium(vhs oder dvd), Filmnummer)

%ausleihe(Vorgangsnummer, Kundennummer, Datentraegernummer, Gefordertes_rueckgabedatum)

%rueckgabe(Datentraegernummer, Gefordertes_rueckgabedatum, Eventuelle_schaeden)


Erstellen Sie ein Prädikat:

... das bei einem Kunden zurückgibt, ob und welche Filme ausgeliehen wurden.

... das prüft, ob ein Film noch verfügbar ist.

... das zurückgibt, ob ein Film nur einmal in der Datenbank vorhanden ist.

... das die Anzahl der Ausleihen in einer Kategorie angibt

... das die Anzahl der Ausleihen in einer Kategorie in einem Monat ausgibt


Die Videothek möchte Benutzerprofile erstellen, aus diesem Grund sollten wir für einen Kunden die Häufigkeiten ermitteln, (eine Liste machen) wie oft er Filme in einer Kategorie ausgeliehen hat. Zum Beispiel [0,0,0,1,4] in den Kategorien also 0 Abenteuer, 0 Erotik, 0 Horror, 1 Kinder, 4 Krimi.

Die nächste Aufgabe war die absoluten Häufigkeiten zu berechnen wie oft ein Kunde in einem Monat in einer Kategorie Filme ausgeliehen hat. Dazu gab es dann noch Teilaufgaben, eine rekursive und eine endrekursive Variante zu machen, und sie danach auf Effizienz vergleichen.

Aufgabe 5

Hier gab es eine schicke Formel mit der der Videotheks-chef nun seine Kundenprofile auswerten wollte. Formel dürfte in etwa folgende sein:

<math> z = {{1}\over{\sqrt{\sum^n_{i=1} (x_i-y_i)^2}}}</math>

Aufgabe 6

1. Diese Aufgabe bestand daraus, auszuwerten was ein kleines Scheme Programm macht.

2. Drei andere kleine Scheme Programme, aus denen wir herausfinden sollten, welches bedeutungsgleich zu dem ersten ist.

3. Herausfinden, was ein anderes Scheme-Programm macht

4. Das Scheme-Programm aus 3. in Prolog programmieren.

... noch irgendwas?