Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
10.2. WHILE-ANWEISUNG 103<br />
vorn frei() diesmal den Wert false liefert. Damit ist die while-Anweisung und { weil dies die<br />
einzige Anweisung des Hamsterprogrammes war { auch das gesamte Hamsterprogramm beendet.<br />
Auf dieselbe Art und Weise la t sich veri zieren, da das Programm auch fur die Landschaft in<br />
Abbildung 10.1 (rechts) korrekt arbeitet. Kontrollieren Sie dies bitte selbst.<br />
10.2.4.2 Beispiel 2<br />
Hamsteraufgabe Der Hamster be ndet sich irgendwo in einem rechteckigen durch Mauern<br />
abgeschlossenen sonst aber mauerlosen Raum unbekannter (aber endlicher) Gro e. Er soll in<br />
irgendeine Ecke laufen und dann anhalten. Abbildung 10.4 enthalt einige Beispiele fur den<br />
skizzierten Landschaftstyp.<br />
######<br />
# #<br />
#<br />
#<br />
#<br />
><br />
o o #<br />
#<br />
#<br />
# o #<br />
# #####<br />
#######<br />
#<br />
#<br />
# o o o #<br />
#<br />
#<br />
#<br />
# o<br />
o<br />
v<br />
#<br />
#<br />
# ######<br />
#######<br />
#<br />
#<br />
> #<br />
o #<br />
# o o #<br />
# o o o #<br />
# # #### #<br />
Abbildung 10.4: Typische Hamsterlandschaften zu Beispiel 2<br />
Losungsidee Der Hamster lauft bis zur nachsten Wand in Blickrichtung vor ihm, dreht sich<br />
um 90 Grad nach links und lauft erneut bis zur nachsten Wand in Blickrichtung vor ihm. 1<br />
Programm<br />
void main()<br />
{<br />
// laufe bis zur naechsten Wand<br />
while (vorn_frei())<br />
{<br />
vor();<br />
}<br />
}<br />
// drehe dich um 90 Grad nach links<br />
links_um();<br />
// laufe erneut bis zur naechsten Wand<br />
while (vorn_frei())<br />
{<br />
vor();<br />
}<br />
1 Dies ist zwar nicht der schnellste Weg, aber das ist ja auch in der Aufgabe nicht verlangt!