Computer Science, 2002-09-10

Module: 
Computer Science
Examiner: 
Vornberger
Assessor: 
Schmid
Date: 
Tue, 2002-09-10

Protokoll der Modulprüfung in Informatik (Informatik A und B)
Termin: 10.9.2002, 13.30 Uhr
Prüfer: Herr Oliver Vornberger, Frau Ute Schmid

Fragen:

- Was ist eine Schlange? Wie lauten ihre Methoden? Wozu kann man sie einsetzen?
Wie funktioniert die Breitensuche auf einem Baum mit Hilfe einer Schlange? Wie
kann eine Schlange implementiert werden? Was entsteht heuristisch im Speicher,
wenn ich s.enq(b.left()); und s.enq(b.right()); sage?
- Kann man sich auch eine Breitensuche auf einem Graphen vorstellen? Wie sieht das
aus? Welche Laufzeit hat ein solcher Algorithmus? Welche Unterschiede und
Probleme gibt es im Vergleich zur Breitensuche auf einem Baum?
- Welche Design Patterns zum Aufzählen der Elemente einer Datenstruktur haben wir
besprochen? Wie funktioniert das Enumeration-Design Pattern? Wie kann eine
Schlange das Interface leicht mit den eigenen Methoden implementieren?
- Overriding vs. shadowing
- Exceptions: warum? welche Einsatzmöglichkeiten?

Schriftliche Aufgaben:

- Breitensuche auf einem Baum mit einer Schlange
- Skizze einer Verweisschlange (Heuristik im Speicher)
- enumerate()-Methode bei Schlange -> Implementation des java.util.Enumeration-
Interfaces

Beispiele:

- Code zum Overriding vs. shadowing: Oberklasse, Unterklasse erbt Instanzmethode,
aber überdeckt Instanz- und Klassenfeld -> Methode für Unterklasse arbeitet trotzdem
auf Feldern der Oberklasse
- Exceptions: Der Beispielcode sah etwa so aus:

public int m1(boolean b) {
int i=0;
try {
if(b) {return i/0;}
return ++I;
} catch(RuntimeException e) {
++i;
} finally {
++i;
}
return ++i;
}
public static void main(String argv []) {
System.out.println(m1(true));
System.out.println(m1(false));
}