Übungen zur Lehrveranstaltung

"Programmierkurs Java"

WS 1997/98

FB Informatik

D. Boles


Übungsblatt 7

Ausgabe: 26.11.97

Hinweise: Zur Lösung der Aufgaben dürfen nur Konzepte benutzt werden, die in der Vorlesung schon behandelt worden sind.

Benutzen Sie zur Eingabe und Ausgabe jeweils die Funktionen, die Sie auf dem ARBI-Cluster im Verzeichnis /user/fb10/dibo/java/dibo (siehe Datei Terminal.README) finden.

Aufgabe 24 (Rekursion): 15 Punkte

Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, (Terminal.readChar()) bis ein #-Zeichen eingegeben wird, und anschließend die eingegebenen Zeichen in umgekehrter Reihenfolge wieder auf den Bildschirm ausgibt (Achtung: keine Arrays oder Strings verwenden!).

Beispiel:

 Eingabe: a

b
c
#
Ausgabe: cba

Aufgabe 25 (Rekursion): 30 Punkte

Implementieren Sie in Java eine Funktion public static int convert(int zahl) , die als Parameter eine natürliche Zahl (int-Wert) übergeben bekommt und die Zahl mit umgekehrten Ziffern wieder zurückgibt. Implementieren Sie sowohl eine iterative als auch eine rekursive Lösung.

Beispiele.:

 convert(12345) == 54321

convert(2540) == 452

Aufgabe 26 (Rekursion): 15 Punkte

Kopieren Sie sich die Datei /user/fb10/dibo/java/Aufgabe26.java vom ARBI-Cluster in Ihr Verzeichnis (ist auch über die WWW-Page http://www-is.informatik.uni-oldenburg.de/~dibo/teaching/java9798/uebungen/Aufgabe26.java abrufbar). Schauen Sie sich das Programm an. Was tut es? Versehen Sie es mit geeigneten Kommentaren und erläutern Sie die Funktionalität!

Aufgabe 27 (Rekursion): 40 Punkte

Implementieren Sie im Hamster-Modell folgende Aufgabe: Der Hamster befindet sich in einem Labyrinth (ein durch Mauern abgeschlossenes rechteckiges Kornfeld, in dem sich Gänge befinden, die jeweils höchstens 1 Kachel breit sind). Der Hamster sitzt auf einer beliebigen freien Kachel. Er hat (prinzipiell) unendlich viele Körner im Maul. Auf genau einer Kachel im Kornfeld (die vom Hamster aus erreichbar ist!) liegt ein Haufen mit 2 Körnern, ansonsten liegen keine Körner im Kornfeld. Der Hamster soll die Körner suchen, sie fressen und zu seinem Ausgangsfeld zurückkehren. Alle Körner, die der Hamster unterwegs eventuell ablegt, sollen irgendwann wieder eingesammelt werden.