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.

76 KAPITEL 9. AUSWAHLANWEISUNGEN<br />

Testbefehl<br />

9.1.2 Semantik<br />

vorn_frei<br />

maul_leer<br />

korn_da<br />

Abbildung 9.1: Syntaxdiagramm: Hamster-Testbefehl<br />

Die drei Testbefehle der Hamstersprache haben die folgende Bedeutung:<br />

vorn frei(): Liefert den Wert true, falls sich auf der Kacheln in Blickrichtung vor dem<br />

Hamster keine Mauer be ndet. Ist die Kachel durch eine Mauer blockiert, dann wird der<br />

Wert false geliefert.<br />

maul leer(): Liefert den Wert true, falls der Hamster ein oder mehrere Korner im Maul<br />

hat. Be nden sichkeine Korner im Maul des Hamsters, dann wird der Wert false geliefert.<br />

korn da(): Liefert den Wert true, falls auf der Kachel, auf der der Hamster gerade steht,<br />

ein oder mehrere Korner liegen. Be ndet sich kein Korn auf der Kachel, dann wird der<br />

Wert false geliefert.<br />

Beachten Sie, da die Ausfuhrung von Testbefehlen zunachst keine unmittelbare Auswirkung<br />

auf den Zustand des Kornfeldes hat.<br />

9.1.3 Beispiele<br />

Schauen Sie sich Abbildung 9.2 an. Wird dem Hamster in der in der Abbildung links dargestellten<br />

Situation der Testbefehl vorn frei() gegeben, dann liefert der Testbefehl den booleschen<br />

Wert true. Dahingegen hat ein Aufruf des Testbefehls vorn frei() in der im rechten Teil der<br />

Abbildung skizzierten Situation die Ruckgabe des Wertes false zur Folge.<br />

# #######<br />

# # # #<br />

# #######<br />

# # # #<br />

# # # # # #<br />

#<br />

#<br />

> # #<br />

# #<br />

#<br />

#<br />

> # #<br />

# #<br />

# ####### # #######<br />

Abbildung 9.2: Testbefehle<br />

(<br />

)

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!