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.

100 KAPITEL 10. WIEDERHOLUNGSANWEISUNGEN<br />

Schauen Sie sich nun die Hamsterlandschaft in Abbildung 10.1 (rechts) an. Auch fur diese<br />

Situation soll ein Hamsterprogramm geschrieben werden, das den Hamster in Blickrichtung bis<br />

zur nachsten Wand laufen la t:<br />

void main()<br />

{<br />

vor();<br />

vor();<br />

vor();<br />

vor();<br />

}<br />

Beide Programme losen das Problem, da der Hamster bis zur nachsten Wand laufen soll, jeweils<br />

fur eine fest vorgegebene Landschaft. Viel exibler ware es, wenn wir ein Programm entwickeln<br />

konnten, da beide obigen Probleme bzw. allgemein Probleme folgender Art lost: Der Hamster<br />

stehe auf einer Kachel der Hamsterlandschaft. Irgendwo in Blickrichtung vor ihm be ndet sich<br />

eine Mauer. Der Hamster soll bis zu dieser Mauer laufen und dann anhalten. Zur Losung dieses<br />

Problems benotigen wir eine Anweisung der Art: solange vorne frei ist, hupfe eine Kachel<br />

nach vorne, oder allgemeiner: solange eine bestimmte Bedingung erfullt ist, fuhre eine bestimmte<br />

Aktion aus, bzw. praziser mit den Hilfsmitteln der Hamstersprache formuliert: solange ein boolescher<br />

Ausdruck den Wert true liefert, fuhre eine gegebene Anweisung (wiederholt) aus. In der<br />

Hamstersprache existieren zwei Alternativen zur Formulierung derartiger Wiederholungsanweisungen,<br />

die while-Anweisung und die do-Anweisung.<br />

10.2 while-Anweisung<br />

Mit Hilfe der while-Anweisung { auch while-Schleife genannt {la t sich in der Hamstersprache<br />

eine Anweisung in Abhangigkeit eines booleschen Ausdrucks beliebig oft wiederholt ausfuhren.<br />

10.2.1 Syntax<br />

Die genaue Syntax der while-Anweisung kann Abbildung 10.2 entnommen werden.<br />

Die while-Anweisung ist eine zusammengesetzte Anweisung. Nach dem Schlusselwort while steht<br />

in runden Klammern ein boolescher Ausdruck, die sogenannte Schleifenbedingung. Anschlie end<br />

folgt die Anweisung, die evtl. wiederholt ausgefuhrt werden soll. Sie wird auch Iterationsanweisung<br />

genannt. Hierbei handelt es sich im allgemeinen um eine Blockanweisung.<br />

In Abbildung 10.2 wird das Syntaxdiagramm " Anweisung\ aus Abbildung 9.7 erweitert.<br />

10.2.2 Semantik<br />

Bei der Ausfuhrung einer while-Anweisung wird zunachst uberpruft, ob die Schleifenbedingung<br />

erfullt ist, d.h. ob der boolesche Ausdruck den Wert true liefert. Falls dies nicht der Fall ist,

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!