Informatik: Unterschied zwischen den Versionen

Aus KAS-Wiki
Wechseln zu: Navigation, Suche
Zeile 18: Zeile 18:
 
* IF "Bedingunge" "Befehle" ELSE "Befehle"
 
* IF "Bedingunge" "Befehle" ELSE "Befehle"
 
* WHILE "Bedingung" "Befehle"
 
* WHILE "Bedingung" "Befehle"
 +
* Rekursionen (Selbstaufruf)
 
   
 
   
 
'''Aufgaben'''
 
'''Aufgaben'''
Zeile 26: Zeile 27:
 
* 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!
 
* 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!
 
[[Bild:AUfgabe_3.JPG]]
 
[[Bild:AUfgabe_3.JPG]]
 +
 
Lösung:
 
Lösung:
  

Version vom 9. März 2011, 12:38 Uhr

Das Programm:

Media:Hamster.zip

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ß!)

Aufgabe 2.JPG

  • 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!

AUfgabe 3.JPG

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.

AUfgabe 4.JPG

  • Variation II: Das loch des Kastens liegt nun an einer beliebigen Seite.

AUfgabe 5.JPG