06.08.2013 Aufrufe

PDF-Datei (ca. 1 MByte)

PDF-Datei (ca. 1 MByte)

PDF-Datei (ca. 1 MByte)

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

146 KAPITEL 12. PROGRAMMENTWURF<br />

Wenden wir uns zunachst der Implementierung der Prozedur erklimme eine stufe zu. Diese<br />

ist nicht mehr besonders schwierig:<br />

// der Hamster soll eine Stufe erklimmen<br />

void erklimme_eine_stufe()<br />

{<br />

links_um(); // nun schaut der Hamster nach oben<br />

vor(); // der Hamster erklimmt die Mauer<br />

rechts_um(); // der Hamster wendet sich wieder dem Berg zu<br />

vor(); // der Hamster begibt sich auf den naechsten Vorsprung<br />

gib(); // der Hamster legt ein Korn ab<br />

}<br />

// der Hamster dreht sich nach rechts um<br />

void rechts_um()<br />

{<br />

links_um(); links_um(); links_um();<br />

}<br />

Etwas schwieriger scheint die Implementierung der booleschen Funktion gipfel erreicht zu<br />

sein. Wie kann der Hamster feststellen, ob er sich auf dem Gipfel be ndet oder nicht? Uberlegen<br />

Sie einfach: wann wird die Funktion aufgerufen? Sie wird jedesmal dann aufgerufen, nachdem<br />

der Hamster eine Stufe erklommen hat. Steht der Hamster danach vor einer Mauer, so ist der<br />

Gipfel noch nicht erreicht. Be ndet sich vor dem Hamster jedoch keine Mauer, dann steht er auf<br />

dem Gipfel. Also ist die Implementierung der booleschen Funktion doch ganz einfach:<br />

// hat der Hamster den Gipfel erreicht?<br />

boolean gipfel_erreicht()<br />

{<br />

if (vorn_frei())<br />

{<br />

return true;<br />

}<br />

else<br />

{<br />

return false;<br />

}<br />

}<br />

oder besser formuliert (siehe auch Kapitel 11.3.3):<br />

// hat der Hamster den Gipfel erreicht?<br />

boolean gipfel_erreicht()<br />

{<br />

return vorn_frei();<br />

}

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!