

Wir haben jetzt schon viele Hamster-Programme geschrieben und mindestens genau so viele Sprachelemente (Befehle, Verzweigungen, Wiederholungen, etc.) kennen gelernt. In dieser Lektion soll es darum gehen, wie man den Überblick behalten kann, wenn ein etwas komplexeres Problem zu lösen ist.
Aus gegebenem Anlass (siehe EMail): Lest euch das Fachkonzept: Code Style durch.
Lest euch das Fachkonzept: Programmentwicklung durch. Beantwortet die folgenden Fragen:
Der Hamster soll den Berg erklimmen und seinen Weg markieren, damit er wieder zurückfinden kann. Er hat ausreichend Körner im Maul.
Eure Aufgabe ist es, die Programmentwicklung ein mal komplett zu durchlaufen.
Die schwierigste ist mit Abstand der Entwurf von Programmen. Aber hierzu gibt es einige Hilfsmittel, wie z.B. das Fachkonzept: Programmablaufplan (PAP).
Beantwortet die folgenden Fragen:
Der PAP unten beschreibt einen Algorithmus, der für verschiedene Territorien geeignet ist. Findet heraus, was der Hamster macht, indem ihr den Algorithmus nachvollzieht. Erstellt anschließend den entsprechenden Quellcode im Hamstersimulator.
Der PAP unten beschreibt einen ähnlichen Algorithmus wie oben. Findet auch hier heraus, was der Hamster macht, indem ihr dem Algorithmus nachvollzieht. Passt den Quellcode entsprechend an.
Sucht euch eine Schwierigkeitsstufe aus und erstellt für jede der Aufgaben einen eigenen PAP.
Aufgabe 1:
Der Hamster ist ein olympischer Sprinter und er soll im folgenden Territorium im Kreis laufen. Er muss sich hier noch nicht auf andere Territorien einstellen!
Aufgabe 2:
Passt euren Algorithmus so an, dass der Hamster auf Territorien von beliebiger Größen im Kreis laufen kann!
Aufgabe 3:
Passt euren Algorithmus so an, dass der Hamster alle zufällig verteilten Körner einsammelt.
Aufgabe 1:
Der Hamster soll im folgenden Territorium die regelmäßige Treppe herauf laufen. Er muss sich hier noch nicht auf andere Territorien einstellen!
Aufgabe 2:
Passt euren Algorithmus so an, dass der Hamster regelmäßige Treppen von beliebiger Größe herauf laufen kann!
Aufgabe 3:
Passt euren Algorithmus so an, dass der Hamster alle Körner einsammelt.
Aufgabe 1:
Der Hamster soll im folgenden zyklen-freien Labyrinth ohne Verzweigungen das Korn findet. Er muss sich hier noch nicht auf andere Territorien einstellen!
Aufgabe 2:
Passt euren Algorithmus so an, dass der Hamster in einem beliebigen zyklen-freien Labyrinth ohne Verzweigungen das Korn finden kann!
Aufgabe 3:
Passt euren Algorithmus so an, dass der Hamster das Korn findet, diesmal in einem zyklen-freien Labyrinth mit Verzweigungen.
Auch das Fachkonzept "Programmentwurf" findet ihr im Hamster-eBook in Kapitel 12 auf S. 183.
Speichert die Programme und die Territorien sowie eure Notizen auf eurem Stick nach dem Schema Lektion5_Beispiel2 bzw. Lektion5_Uebung5 ab!