Übungen zur Lehrveranstaltung

"Programmierkurs Java"

WS 1997/98

FB Informatik

D. Boles


Übungsblatt 2

Ausgabe: 22.10.97

Hinweise: Zur Lösung der Aufgaben dürfen nur Konzepte benutzt werden, die in der Vorlesung schon behandelt worden sind. Informationen zum Hamster-Modell finden sich unter http://www-is.informatik.uni-oldenburg.de/~dibo/teaching/java9798/ beim Skript.

Aufgabe 5 (Algorithmen/Hamster-Modell): 20 Punkte

Schauen Sie sich das Hamster-Programm, das sich auf dem ARBI-Cluster in der Datei /user/fb10/dibo/java/uebungen/Hamster5.java befindet, an. Grob gesagt löst das Programm das Problem, daß der Hamster einen Berg übersteigen soll. Beschreiben Sie bitte exakt, wie Landschaften auszusehen haben, damit es beim Ausführen des Programmes zu keinem Fehler kommt.

Aufgabe 6 (Algorithmen/Hamster-Modell): 20 Punkte

Entwickeln Sie einen Algorithmus für folgendes Hamster-Problem: Der Hamster steht - wie auf der Skizze ersichtlich - irgendwo in einem abgeschlossenen ansonsten aber mauerlosen rechteckigen Raum unbekannter Größe (mindestens aber mit 4x4 Kacheln). Er hat 4 Körner im Maul. Der Hamster soll in allen vier Ecken des Feldes je ein Korn ablegen und dann stehenbleiben. Schreiben Sie ein Hamster-Programm für den Algorithmus.

Aufgabe 7 (Algorithmen/Hamster-Modell): 40 Punkte

Entwickeln Sie zwei verschiedene Algorithmen für folgendes Hamster-Problem: Der Hamster steht - wie auf der Skizze ersichtlich - irgendwo in einem abgeschlossenen ansonsten aber mauerlosen rechteckigen Raum unbekannter Größe (mindestens aber mit 4x4 Kacheln). Alle Kacheln sind körnerlos. Der Hamster hat mindestens so viele Körner im Maul, wie es Kacheln auf dem Feld gibt. Der Hamster soll auf allen Kacheln des Feldes ganu ein Korn ablegen und schließlich stehenbleiben. Schreiben Sie je ein Hamster-Programm für die beiden Algorithmen.

Aufgabe 8 (Algorithmen/Hamster-Modell): 20 Punkte

Denken Sie sich selbst ein bisher noch nicht behandeltes Hamster-Problem aus. Liefern Sie eine exakte Beschreibung des Problems. Finden Sie einen Algorithmus, der das Problem löst und alle in der Vorlesung genannten Eigenschaften von Algorithmen erfüllt. Schreiben Sie ein Hamster-Programm für den Algorithmus.