SAI ||
Wintersemester 1997/98 ||
Entwicklung objekt-orientierter Bibliotheken ||
Übungen
Übungen zu Entwicklung objekt-orientierter Bibliotheken
Blatt 3 (31. 10. - 7. 11. 1997)
Aufgabe 5 (12 Punkte)
Schreiben Sie ein Oberon-Modul, das eine Abstraktion für Spielstände
in typischen Zwei-Parteien-Wettkämpfen wie Tennis, Volleyball, Fechten
usw. realisiert.
Halten Sie sich dabei an das Auftragsmodell aus der Vorlesung.
Ein Objekt repräsentiere den Spielstand einer bestimmten Begegnung
(einschließlich der Namen der beiden Parteien).
Die Basisabstraktion soll folgende Aufträge definieren:
-
Eine Partei erhält einen weiteren Punkt.
-
Eine Zusammenfassung des Spielstandes wird abgefragt.
Diese besteht aus der Aussage, ob die Begegnung schon beendet ist, und
einer der drei Zahlen 0, 1 oder 2 für Gleichstand bzw. Führung
der ersten oder zweiten Partei.
-
Der genaue Spielstand wird abgefragt.
Dieser besteht aus einem beliebigen Text, der in einen als
Parameter anzugebenden
Stream
geschrieben werden soll.
-
Ein beliebiger nicht näher spezifizierter Auftrag wird dem Objekt
übergegeben.
Dies dient zur Unterstützung späterer Erweiterungen.
Schreiben Sie ein weiteres Oberon-Modul, das die Abstraktion für
Volleyball (oder ein vergleichbares Spiel Ihrer Wahl) implementiert.
Bei Volleyball gewinnt die Mannschaft einen Satz, die zuerst mindestens
15 Punkte und dazu einen Vorsprung von 2 Punkten erreicht, und eine
Partie ist entschieden, sobald eine Mannschaft drei Sätze gewonnen hat.
Fügen Sie ein drittes Oberon-Modul als Hauptprogramm hinzu, mit dem
eine solche Begegnung interaktiv durchgespielt werden kann.
Es soll automatisch enden, wenn die Partie beendet ist.
Aufgabe 6 (8 Punkte)
Erweitern Sie die Abstraktion aus Aufgabe 5 durch ein separates
Oberon-Modul für Wettkämpfe, die eine zeitliche Beschränkung haben
(wie z.B. Fußball).
Diese Erweiterung bestehe aus einem zusätzlichen Auftrag, mit dem eine
Partie beendet wird.
Schreiben Sie auch für diese Abstraktion eine Implementierung
in Form eines weiteren Oberon-Moduls für Fußball (oder ein
vergleichbares Spiel Ihrer Wahl) sowie ein Hauptprogramm.
Anstelle zweier Hauptprogramme können Sie auch ein gemeinsames mit
entsprechender Auswahlmöglichkeit für beide Aufgaben erstellen.
SAI ||
Wintersemester 1997/98 ||
Entwicklung objekt-orientierter Bibliotheken ||
Übungen
Martin Hasch, Oktober 1997