Universität Ulm - Abteilung Angewandte Informationsverarbeitung

8. Übungsblatt (05.07.01 bis 12.07.01)
zur Vorlesung Allgemeine Informatik II für Wirtschaftswissenschaftler

SS 2001


Die Reise nach Jerusalem (10 Punkte)

Sie haben früher bestimmt öfters auf Geburtstagen "Die Reise nach Jerusalem" gespielt. Dieses Spiel soll nun in einem Oberon-Programm simuliert werden. Die Grundidee ist einfach: Sie platzieren alle Spieler an einem Tisch (steht hier stellvertretend für eine runde Anordnung). Als nächstes wird kontinuierlich jeweils eine Person (zufällig) ausgewählt, die den Tisch verlassen muß. Das wiederholt sich so lange, bis nur noch eine Person übrig ist ... der Gewinner.

In Oberon entspricht der runde Tisch einer zirkulär verketteten Liste, d.h. das letzte Element zeigt wiederum auf das erste (und nicht auf NIL). Die Datenstruktur läßt sich am besten über ein separates Objekt für den Kopfzeiger sowie eine Zählvariable implementieren, wobei der Kopfzeiger auf ein Element in der Liste zeigt (da es ja kein erstes in diesem Sinne gibt). Die Spieler sollen einzeln - am besten mit einer ähnlichen Menü-Steuerung wie in Blatt 7 - am Tisch platziert (bzw. in die Liste einsortiert) werden. Sobald die Liste gefüllt ist, bestimmt ein Zufallsgenerator die Position am Tisch (bzw. in der Liste), von der ein Mitspieler ausgeschlossen wird. Beispielsweise muß bei einer 3 der dritte Spieler am Tisch aufstehen. Der Kopfzeiger bleibt dann auf diesem Index stehen und von dort aus beginnt eine neue Runde.

Gliedern Sie Ihr Programm in zwei Module unter der Verwendung von Typ-Erweiterungen. Ich gebe Ihnen das DEFINITION File des RoundTable Moduls mit, so haben Sie eine Orientierung wie die Schnittstelle zum Hauptprogramm aussehen muß. Eine Demonstration des Programms finden Sie hier.

Nützliche Hinweise:

Viel Erfolg!!!