Java Reference
In-Depth Information
void begibDichRechtsUmInNaechsteReihe() {
rechtsUm();
vor();
rechtsUm();
}
12.7.6.4 Testmenge mit Protokollen der Testläufe
Die Testmenge sowie Ausschnitte aus den Ergebnissen der Testläufe des Programms finden sich in
Abbildung 12.4.
12.7.6.5 Aufgetretene Probleme
Bei der Lösung der Hamster-Aufgabe sind keine nennenswerten Probleme aufgetreten.
12.7.6.6 Alternative Lösungsansätze
Eine alternative Lösungsidee ist die, dass der Hamster nach dem Abgrasen einer Reihe zunächst
jeweils wieder die Reihe zurückläuft, bevor er sich in die nächste Reihe begibt (siehe auch Kapitel
10.4.1). Bei dieser Lösungsidee ist das Hauptprogramm ein wenig verständlicher, weil nicht zwi-
schen den beiden Fällen „grase eine Reihe nach Osten hin ab“ und „grase eine Reihe nach Westen
hin ab“ unterschieden werden muss. Die Lösung ist aber nicht besonders effizient.
12.8 Übungsaufgaben
Nun sind wieder Sie gefordert; denn in diesem Abschnitt werden Ihnen einige Hamster-Aufgaben
gestellt, die sie selbstständig zu lösen haben. Entwickeln Sie Ihre Programme dabei nach dem in
diesem Kapitel erläuterten Verfahren und halten Sie die Ergebnisse den Dokumentationsrichtlinien
entsprechend fest. Nehmen Sie sich darüber hinaus auch Aufgaben aus den vorangehenden Kapiteln
vor oder denken Sie sich selbst weitere Hamster-Aufgaben aus und versuchen Sie, diese systematisch
zu lösen. Viel Spaß!
12.8.1 Aufgabe 1
Der Hamster steht in einem durch Mauern abgeschlossenen Territorium unbekannter Größe. Er hat
den Anfang einer Körnerspur entdeckt, die sich durch sein Territorium zieht. Die Körnerspur kreuzt
sich nirgends und zwischen zwei parallelen Reihen, in denen die Spur verläuft, ist immer eine Reihe
frei (siehe auch die Landschaft in Abbildung 12.5). Außer den Körnern der Spur befinden sich keine
weiteren Körner im Territorium.
Die Aufgabe des Hamsters besteht darin, alle Körner einzusammeln und am Ausgangspunkt der
Spur (dort wo der Hamster anfangs steht) abzulegen.
Search WWH ::




Custom Search