Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Kapitel 8<br />
Prozeduren<br />
Das Konzept der Prozeduren ist eines der machtigsten Konzepte imperativer Programmiersprachen.<br />
Wir werden in diesem Kapitel zunachst nur einen Teil dieses Konzeptes kennenlernen.<br />
In den Kapitel 14 Kapitel 15 und Kapitel 16 wird das Prozedurkonzept verallgemeinert und<br />
erweitert.<br />
8.1 Motivation<br />
Schauen Sie sich einmal das folgende Hamsterprogramm an: Der Hamster soll zwei Korner<br />
einsammeln. Die dazugehorige Landschaft wird in Abbildung 8.1 skizziert:<br />
void main()<br />
{<br />
vor(); vor(); nimm();<br />
links_um(); links_um(); links_um();<br />
vor(); vor();<br />
links_um(); links_um(); links_um();<br />
vor(); vor(); nimm();<br />
}<br />
Was an diesem Beispiel direkt au allt, ist die Umstandlichkeit fur Sie als Programmierer,<br />
den Hamster um 90 Grad nach rechts zu drehen. Leider kennt der Hamster nur den Befehl<br />
links um(); und nicht den Befehl rechts um();, so da Sie jedesmal dreimal hintereinander<br />
den Befehl links um(); ausfuhren mussen, um den Hamster nach rechts zu drehen. Schon ware<br />
es, wenn wir dem Hamster einen neuen Befehl rechts um(); beibringen konnten, indem wir ihm<br />
sagen: Wenn du diesen Befehl rechts um(); erhalst, sollst du dreimal den Befehl links um();<br />
ausfuhren. Genau diesem Zweck, namlich der De nition neuer Befehle auf der Grundlage bereits<br />
existierender Befehle und Anweisungen dient das Prozedurkonzept. Prozeduren werden<br />
manchmal auch Unterprogramme genannt.<br />
Um zwei Dinge werden wir uns im folgenden kummern: Wie werden Prozeduren und damit neue<br />
Befehle de niert und wie werden die neuen Befehle aufgerufen.<br />
61