Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
52 KAPITEL 7. ANWEISUNGEN UND PROGRAMME<br />
7.2 Anweisungen<br />
In imperativen Programmiersprachen werden einzelne Verarbeitungsvorschriften durch sogenannte<br />
Anweisungen ausgedruckt. Anweisungen, die nicht weiter zerlegt werden konnen, werden<br />
elementare Anweisungen genannt. In der Hamstersprache sind die vier Grundbefehle elementare<br />
Anweisungen. Eine Folge von Anweisungen, die nacheinander ausgefuhrt werden, wird als<br />
Anweisungssequenz bezeichnet.<br />
7.2.1 Syntax<br />
Die Syntax der Anweisungssequenz und Anweisung wird in Abbildung 7.3 durch Syntaxdiagramme<br />
de niert. Zwischen mehreren Anweisungen durfen beliebig viele Trennzeichen stehen. Das<br />
Syntaxdiagramm fur die Anweisung wird in spateren Kapiteln noch hau ger erganzt.<br />
7.2.2 Semantik<br />
Anweisung (1)<br />
Anweisungssequenz<br />
Grundbefehl<br />
Anweisung<br />
Abbildung 7.3: Syntaxdiagramm: Anweisung (1)<br />
Die einzelnen Anweisungen einer Anweisungssequenz werden in der angegebenen Reihenfolge<br />
hintereinander ausgefuhrt.<br />
7.2.3 Beispiele<br />
Das folgende Beispiel ist eine syntaktisch korrekte Anweisungssequenz:<br />
vor();<br />
links_um(); vor(); nimm(); vor(); gib();<br />
vor(); links_um();<br />
Die Anweisung bewirkt folgende Aktionen (siehe auch Abbildung 7.4): Der Hamster hupft<br />
zunachst eine Kachel in Blickrichtung nach vorne. Dann dreht er sich nach links um, geht in<br />
der neuen Blickrichtung wieder einen Schritt nach vorn, nimmt sich ein Korn, hupft noch eine<br />
Kachel weiter und legt das Korn wieder ab. Anschlie end springt er wiederum eine Kachel nach<br />
vorne und dreht sich nach links.<br />
Syntaktisch nicht korrekt ist das folgende Beispiel, weil denke(); kein Befehl und keine Anweisung<br />
ist: