Course: Kara programmieren als Automat

B e i s p i e l| 035
Kara programmieren als Automat
4 Konzepte 4.3

„Im Zeitalter der Anwenderpakete wird das Programmieren nicht mehr primär als Werkzeug benötigt, sondern als Gedankengut, das den vernünftigen Einsatz der Werkzeuge ermöglicht, die von anderen erstellt wurden.“ (Raimond Reichert in: Raimond Reichert u.a., Programmieren mit Kara, Berlin Heidelberg 2005, S.6.)

Vorbereitung

Erstelle einen Ordner namens "kara"!
Lade dir die Software KARA hier herunter!

Lade dir die beiden folgenden Dateien herunter und speichere sie in den soeben erstellten Ordner!

 |  | Station 1: Programme laden und analysieren

1. Starte Kara!

2. Öffne das Programmier-Fenster, indem du links oben auf den Button „Programmieren“ klickst!

INFO:

Ein Kara-Programm besteht aus zwei Fenstern:

- Welt-Fenster: Hier kann die Welt wie gewünscht mithilfe der 4 Elemente aufgebaut werden.
- Programmier-Fenster: In diesem wird Kara, der Marienkäfer, programmiert.

--> Am besten, du öffnest immer beide Fenster und platzierst sie nebeneinander.

3. Öffne nun im Welt-Fenster die gespeicherte Welt „Kara_Tunnelsucher_world.world“ und im Programmier-Fenster die Datei „Kara_Tunnelsucher_program.kara“!

4. Starte nun das Programm mihilfe des Play-Buttons und beobachte genau, was Kara tut! Stelle Kara, nachdem er stehen geblieben ist, erneut an den Start und starte das Programm!

5. Baue die Welt nun folgendermaßen um:

Du kannst die Elemente mittels Drag&Drop beliebig verschieben.
Stelle Kara an die Startposition und starte das Programm erneut! Beobachte auch diesmal wieder genau, wohin sich Kara bewegt und was er tut! Stelle dir vor allem die Frage, wann Kara stehen bleibt – welche Bedingung ist daran geknüpft?

6. Schreibe nun deine Beobachtungen in deinen eigenen Worten in das nachfolgende Textdokument! (Beschreibe die Ausgangslage, d.h. wie die Welt an sich aufgebaut ist, welche Aufgabe Kara darin in diesem Programm hat und welche Bedingung dazu führt, dass Kara stehen bleibt und das Programm endet.)

 |  | Station 2: Eigenes Programm schreiben

1. Öffne sowohl im Welt- als auch im Programmier-Fenster ein neues Dokument! .

2. Baue nun folgende Welt auf:

3. Öffne das Programmierfenster!

--> AUFGABENSTELLUNG: Du wirst nun Kara so programmieren, dass er bis zum Baumstumpf läuft und alle Blätter, die ihm auf seinem Weg begegnen, aufnimmt. Wenn er beim Baumstumpf angekommen ist, soll das Programm beendet werden.

LOS GEHT'S ...

4. Du musst zu allererst einen Zustand erstellen, der die Sensoren, die Kara für die Lösung der Aufgabe benötigt, beinhaltet:

a. Klicke auf den Button zum Erstellen eines neuen Zustandes! .

b. Wähle einen Namen für den Zustand und wähle die Sensoren, die für die Aufgabe benötigt werden! (siehe Abb. 2).

c. Bestätige deine Eingaben! .

5. Speichere dein Programm! (Vergiss auch nicht, während der kommenden Schritte immer wieder zwischenzuspeichern!)

<

Abb. 2: Neuen Zustand erstellen

6. Nun musst du alle möglichen Situationen, in denen sich Kara befinden kann, abdecken und angeben, wie sich Kara in dieser Situation verhalten muss. Klicke für das Hinzufügen neuer Sensorwerte auf den Stern! .

7. Gib nun durch Einfachklick auf den Sensorwert die unterschiedlichen Situationsmöglichkeiten an!

Beispiel (siehe Abb. 3)

- Wenn Kara sich nicht direkt vor einem Baum befindet und auch nicht auf einem Kleeblatt, soll er folgendes tun:
einen Schritt vorwärts gehen und anschließend wieder in den Zustand „collectLeaves“ wechseln.
- Wenn Kara sich nicht direkt vor einem Baum befindet, jedoch auf einem Kleeblatt,
soll er dieses zuerst hochnehmen und danach einen Schritt vorwärts gehen. Der nächste Zustand ist wieder „collectLeaves“.
- Wenn Kara sich direkt vor einem Baum befindet, jedoch nicht auf einem Kleeblatt,
soll er nichts tun und in den Zustand „Stop“ wechseln, das heißt, das Programm beenden.

a. Baue das Programm nach!

b. Es fehlt noch eine Situation, in der sich Kara befinden kann – welche? Mache diese selbst!

c. Du musst den Zustand „collectLeaves“ zum Startzustand machen --> markiere durch einen Klick den Zustand und klicke auf den „start“-Button! .

Abb. 3: Programm "collectLeaves"

8. Teste dein Programm, indem du Kara laufen lässt! Versuche anschließend die Blätter anders aufzulegen – funktioniert dein Programm noch immer?

9. Gib dein fertiges Programm ab!

 |  | Station 3: Programm selbstständig erweitern

1. Baue das Programm nun aus!

a. Wenn Kara beim Baumstumpf angelangt ist, soll er sich 180 Grad drehen, bevor das Programm endet.

b. Kara soll nicht nur wie bisher alle Kleeblätter aufnehmen, auf denen er zu stehen kommt, er soll gleichzeitig überall dort, wo kein Kleeblatt liegt, eines hinlegen.

2. Gib dein fertiges Programm ab!

Wenn du möchtest kannst du noch weitere Aufgaben hinzufügen, indem du auf "Aufgaben" klickst!