06.08.2013 Aufrufe

PDF-Datei (ca. 1 MByte)

PDF-Datei (ca. 1 MByte)

PDF-Datei (ca. 1 MByte)

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

132 KAPITEL 11. BOOLESCHE FUNKTIONEN<br />

11.6.1 Beispielprogramm 1<br />

Aufgabe:<br />

In einem rechteckigen geschlossenen Raum unbekannter Gro e ohne innere Mauern sind wahllos<br />

eine unbekannte Anzahl an Kornern verstreut (siehe Beispiele in Abbildung 11.8). Der Hamster,<br />

der sich zu Anfang in der linken unteren Ecke des Hamster-Territoriums mit Blickrichtung Ost<br />

be ndet, soll alle Korner aufsammeln und dann stehenbleiben.<br />

#<br />

#<br />

#<br />

#<br />

#<br />

#<br />

############<br />

o<br />

o #<br />

o o o o o #<br />

o o o o o #<br />

> o<br />

o o #<br />

########### #<br />

#<br />

#<br />

#<br />

#<br />

#<br />

#######<br />

o o #<br />

o o #<br />

><br />

o #<br />

###### #<br />

Abbildung 11.8: Typische Hamsterlandschaften zu Beispielprogramm 1<br />

#<br />

#<br />

#<br />

###<br />

> o #<br />

###<br />

Dieses Beispielprogramm hatten wir bereits in Kapitel 10.4.1 als Beispielprogramm 1 gelost;<br />

dort allerdings ohne den Einsatz von booleschen Funktionen. Dieses Mal losen wir das Problem<br />

mit Hilfe boolescher Funktionen. Sie werden feststellen, da der Algorithmus so verstandlicher<br />

und besser nachvollziehbar ist.<br />

Losung:<br />

void main()<br />

{<br />

ernte_eine_reihe_und_laufe_zurueck();<br />

while (weitere_reihe_existiert())<br />

{<br />

begib_dich_in_naechste_reihe();<br />

ernte_eine_reihe_und_laufe_zurueck();<br />

}<br />

}<br />

boolean weitere_reihe_existiert() {<br />

rechts_um();<br />

if (vorn_frei()) {<br />

// Achtung: der Hamster muss sich wieder in seine<br />

// Ausgangsstellung begegeben<br />

links_um();<br />

return true;<br />

} else {<br />

links_um();<br />

return false;<br />

}<br />

}<br />

void ernte_eine_reihe_und_laufe_zurueck()

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!