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.

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()

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!