Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
11.6. BEISPIELPROGRAMME 137<br />
}<br />
kehrt(); links_um();<br />
void kehrt()<br />
{<br />
links_um(); links_um();<br />
}<br />
11.6.3 Beispielprogramm 3<br />
Aufgabe:<br />
Der Hamster, der genau ein Korn in seinem Maul hat, be ndet sich in einem einem geschlossenen,<br />
kornerlosen Raum unbekannter Gro e. Rechts von ihm be ndet sich eine Wand, und vor ihm das<br />
Feld ist frei (siehe Beispiel in Abbildung 11.10). Der Hamster soll solange an der Wand entlang<br />
laufen bis er irgendwann wieder sein Ausgangsfeld erreicht.<br />
Losung:<br />
# ########### ##<br />
#<br />
#<br />
# # #<br />
#<br />
#<br />
#<br />
#<br />
#<br />
# ><br />
# #<br />
# # #<br />
#<br />
#<br />
#<br />
#<br />
# ########### ##<br />
#<br />
#<br />
# #<br />
#<br />
#<br />
#<br />
#<br />
#<br />
# #<br />
#<br />
Abbildung 11.10: Typische Hamsterlandschaft zu Beispielprogramm 3<br />
void main()<br />
{<br />
gib(); // markiere Ausgangsposition<br />
vor();<br />
while (!korn_da()) // irgendwann kehrt der Hamster hierher zurueck<br />
{<br />
while (vorn_frei() && !rechts_frei() && !korn_da())<br />
{<br />
vor();<br />
}<br />
if (!korn_da()) // Ausgangsposition erreicht<br />
{<br />
if (rechts_frei())<br />
{<br />
rechts_um();<br />
vor();<br />
}