Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » grundstudium » algo2_braindump_fruehjahr_2007

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
pruefungen:grundstudium:algo2_braindump_fruehjahr_2007 [16.03.2007 13:25] 131.188.24.20pruefungen:grundstudium:algo2_braindump_fruehjahr_2007 [Unknown date] (aktuell) – gelöscht - Externe Bearbeitung (Unknown date) 127.0.0.1
Zeile 1: Zeile 1:
-====== Algo2-Braindump Fruehjahr 2007 ====== 
  
-60 Punkte gesamt, 15 je Aufgabe, also 30 Scheme, 30 Prolog. 
- 
-===== Scheme ===== 
- 
- 
-  * 1. (let (...) ...) und Konsorten (letrec).  
-man sollte zu 2 verschachtelten let-bloecken (und ein letrec mit einer Funktion) jeweils den Wert des Ausdrucks und den Gueltigkeitsbereich und Wert der Variablen hinschrieben. Genau wie in den alten Klausuren vom Stoyan (siehe www8 oder so). 
- 
-  * a) ... 
-  * b) ... 
-  * c) 
- 
-  (letrec ( 
-    (fun (lambda (n m)  
-        (if (= n 0) 
-            m 
-            (if (< n m) 
-                (fun m n) 
-                (fun m (remainder n m)))))) 
-   (fun 9 12)) 
- 
-  * 2. Rekursion 
-gegebene Funktion mystery (m-h hiess mystery-helper, aber ich bin tippfaul...), in etwa: 
-  (define (mystery x)  
-   (define (m-h n s) 
-     (if (= n 0)  
-        s 
-        (append (m-h (- n 1) (cons 0 s)) 
-                      (m-h (- n 1) (cons 1 s))))) 
-   (m-h x '())) 
- 
-  * a) Was gibt (mystery 2) aus? 
-  * b) Ausgabe fuer beliebige ganze positive Zahlen x 
-  * c) Welche Art der Rekursion in mystery-helper? 
-  * d) Aufrufgraphen zeichnen fuer (mystery 2) 
- 
-===== Prolog ===== 
-  
-  * 3.a) fuer 3x 2 Ausdruecke Unifikation 
-  * 3.b) folgendes gegeben: 
- 
-  himmelskoerper(x) :- komet(x). 
-  himmelskoerper(x) :- stern(x). 
-  komet(x) :- schweif(x), sonnennahe-umlaufbahn(x). 
-  schweif('Halleys Komet'). 
-  sonnennahe-umlaufbahn('Halleys Komet'). 
-Die Frage dazu war in etwa "beweisen sie wie ein Prolog-Interpreter es tun wuerde (incl. Schritte), dass Halleys Komet ein Himmelskoerper ist", dazu glaube ich noch Unifikation 
- 
-  * 4. nochmal Prolog 
-gegeben sei ein Binaerbaum: 
-leerer Baum: 
- 
-  t([]) 
- 
-Baum mit einem Knoten a: 
- 
-  t(t([]), a, t([])) 
- 
-Baum mit linkem Teilbaum L, rechtem R, Knoten a: 
- 
-  t(L, a, R) 
- 
-  * a) Suche 'search (e, B)' in einem Binaerbaum B nach e implementieren, 'cut' wenn gefunden, 'fail' wenn nicht gefunden werden kann. 
-  * b) Praedikat insert(t, e, r) implementieren, wahr wenn r der Binaerbaum ist, der entsteht wenn man e in den Binaerbaum t einfuegt.