Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
8.4. PROGRAMME (MIT PROZEDUREN) 67<br />
8.4.2 Semantik<br />
Beim Aufruf eines Programmes wird implizit die Prozedur main aufgerufen. Es werden also die<br />
Anweisung(en) ausgefuhrt, die im Rumpf der main-Prozedur stehen. Nach der Ausfuhrung der<br />
letzten Anweisung der main-Prozedur endet das Programm.<br />
8.4.3 Beispiele<br />
Das Programm aus Abschnitt 8.1 kann nun mit Hilfe von Prozeduren folgenderma en umformuliert<br />
werden:<br />
void main()<br />
{<br />
vor(); vor(); nimm();<br />
rechts_um();<br />
vor(); vor();<br />
rechts_um();<br />
vor(); vor(); nimm();<br />
}<br />
void rechts_um()<br />
{<br />
links_um();<br />
kehrt();<br />
}<br />
void kehrt()<br />
{<br />
links_um();<br />
links_um();<br />
}<br />
Wird das Programm aufgerufen, werden die einzelnen Anweisungen der main-Prozedur ausgefuhrt.<br />
Zunachst hupft der Hamster also aufgrund der vor();-Befehle zwei Felder in Blickrichtung<br />
nachvorne und nimmt ein Korn auf. Anschlie end wird die Prozedur rechts um aufgerufen,<br />
d.h. es werden die Anweisungen links um(); und kehrt(); ausgefuhrt. Letztere Anweisung ist<br />
wiederum ein Prozeduraufruf, der dazu fuhrt, da zweimal der Befehl links um(); ausgefuhrt<br />
wird. Danach ist die Prozedur kehrt und ebenfalls die Prozedur rechts um abgearbeitet, d.h.<br />
der Kontroll u des Programms be ndet sich wieder in der main-Prozedur. Hier folgen zwei weitere<br />
vor();-Befehle und anschlie end ein erneuter Aufruf der Prozedur rechts um. Im Anschlu<br />
daran werden noch zwei weitere vor();-Befehle sowie ein nimm();-Befehl ausgefuhrt. Danach<br />
ist die main-Prozedur abgearbeitet und das Programm beendet.<br />
Das folgende Beispiel enthalt mehrere syntaktische Fehler:<br />
void grase_feld_ab()