Hamster
Aus KAS-Wiki
Version vom 26. März 2011, 15:04 Uhr von Deeken (Diskussion | Beiträge)
Befehle:
- vor
- linksUm
- gib
- nimm
Bedingungen:
- vornFrei
- kornDa
Strukturen:
- IF "Bedingunge" "Befehle" ELSE "Befehle"
- WHILE "Bedingung" "Befehle"
- Rekursionen (Selbstaufruf)
Aufgaben
- Verteile auf dem ganzen Feld 15 Körner. Programmiere den Hamster so, dass er alle Körner aufnimmt und in der oberen rechten Ecke ablegt!
- Verteile auf dem ganzen Feld 15 Körner und 20 Hindernisse. Programmiere den Hamster so, dass er alle Körner aufnimmt und in der oberen rechten Ecke ablegt!
- Der Hamster soll die Körner auf seinem Weg einsammeln und an der Wand ablegen! (Variation: Die Treppenstufen sind nicht gleich groß!)
- Der Hamster soll das Korn innerhalb des Kastens aufsammeln und in der unteren Rechte Ecke ablegen. Das Korn liegt an einer beliebigen Stelle an der oberen Wand. Verwende für dein Programm eine Rekursion oder einen Selbstaufruf!
Lösung:
main:{laufediagonal loch vorbisHindernis linksUm vorbisHindernis drehen kornSuchen rechtsUm vorbisHindernis loch vorbisHindernis linksUm vorbisHindernis gib}
rechtsUm:{linksUm linksUm linksUm}
laufediagonal:{vor rechtsUm vor linksUm if vornFrei laufediagonal}
loch:{rechtsUm vor linksUm if vornFrei vor else loch}
vorbisHindernis:{while vornFrei vor}
drehen:{linksUm linksUm}
kornSuchen:{while vornFrei {vor if kornDa nimm}}
- Variation I: Das Korn liegt nun innerhalb des Kastens.
Lösung:
kornsuchen:{vor if kornDa nimm else{if kornDa kornsuchen else {linksUm linksUm while vornFrei vor linksUm vor linksUm kornsuchen}}}
- Variation II: Das loch des Kastens liegt nun an einer beliebigen Seite.
- Aufgabe: In der Hamster-Welt gib es vier Zimmer, in jedem Zimmer liegt an einer Stelle ein Korn. Der Hamster soll diese Körner suchen, aufnehmen und an einer bestimmten Stelle ablegen.
- Aufgabe: Finde das Korn im Zimmer, beachte dabei die Hindernisse im Zimmer. Das Korn soll in der linken unteren Ecke abgelegt werden1