![]() |
![]() |
![]() |
![]() |
sieht so aus:
Der Hamster steht vor dem Berg, geht nach vorne, dreht sich linksUm, geht nach vorne, und dreht sich rechtsUm, Stopp! Den Hamster-Befehl rechtsUm()
gibt es ja gar nicht, also basteln wir uns diesen Befehl.
Überlege: einmal rechtsUm ist das gleiche wie drei mal linksUm:
1 void rechtsUm() 2 { 3 linksUm(); 4 linksUm(); 5 linksUm(); 6 }
Achtung: Die Zahlen am Anfang der Zeile gehören nicht zum Befehl!
Erklärung:
void
kommt genauso wie die geschweiften Klammern und main
aus Java. void
sagt soviel wie: jetzt kommt ein neuer Befehl, in Java sagt man hierzu: Funktion oder Methode.
Nach void
kommt der Name des neuen Befehls hier rechtsUm
und schließlich noch die beiden runden (!) Klammern ()
void main()
rechtsUm();
schreiben. Wir vereinbaren heute: Unser Hamster-HAUPTprogramm ist der Teil des Hamster-Programms, der mit void main()
beginnt. main
bedeutet soviel wie Hauptteil.rechtsUm();
. So könnte unser Hamster-Programm jetzt aussehen:
1 void rechtsUm() 2 { 3 linksUm(); 4 linksUm(); 5 linksUm(); 6 } 7 void main() 8 { 9 vor(); 10 linksUm(); 11 vor(); 11 rechtsUm(); 12 vor(); 13 // und so weiter 14 }<<<
findest du im Lehrer-Ordner oben rechts unter:
wspiegel => info11hamster => Programme => beispiele
berg.ham
und das Territorium berg.ter
aus dem Programme-Ordner. Das Programm ist noch nicht fertig! Der Hamster soll den Berg wieder runter gehen!
berg.ham
muss verbessert werden! Es kommen für jede Stufe immer vier Befehle in Folge (welche?), schreibe also einen Befehl stufeRauf()
sowie einen Befehl stufeRunter()
, damit dein Hamster-Programm wesentlich kürzer wird! Warum benötigt man zwei unterschiedliche Befehle für das Hinauf- und Hinabsteigen? Wie oft muss der Befehl stufeRauf()
aufgerufen werden? Kann man in dem neuen Befehl stufeRauf()
den Befehl von oben rechtsUm()
benutzen?
Ist es egal, welchen Befehl man zuerst vereinbart?
feld1.ter
aus dem Verzeichnis beispielprogramm2 in kap8:
achtVor()
und vierVor()
. In deinem Hamsterprogramm dürfen dann nur noch drei Befehle benutzt werden, welche? _________________________________________________ main()
sind VERBOTEN!
quadrat.ter
. Wie bekommt der Hamster die Körner ins Maul? Und: Wie kannst du das Hamster-Programm vereinfachen?