In der 10. Klasse entwirft und programmiert man einfache Zustandsautomaten. Ein Zustandsautomat ist ein Maschinchen, das mehrer Zustände einnehmen und je nach Ereignis von einem Zustand in den anderen wechselt. Man braucht das zum Beispiel bei Computerspielen, wo sich ein Fußballspieler in den Zuständen “dribbelnd”, “laufend” oder “stehend” befinden kann.
Man kann das aber auch auf Feuerwehrleute anwenden, hier die Ergebnisse eines Mini-Programmierprojekts in der 10. Klasse:
https://www.youtube.com/watch?v=l-WHSqnzKGI
Zuerst entwirft man so einen einfachen Automaten auf dem Papier:
Der Automat (hier ein Fahrstuhl) kann sich in verschiedenen Zuständen befinden. Er beginnt im Zustand Erdgeschoss (deshalb zeigt da ein Pfeil hin). Es gibt noch zwei weitere Zustände, Keller und 1. Stock. Der Automat kann seinen Zustand ändern, das sind die Pfeile zwischen den Zuständen. Wenn der Automat im Zustand “Erdgeschoss” ist und die Aktion “Pfeil nach oben drücken” eintritt, dann springt der Automat in den Zustand “1. Stock”.
Es geht aber auch noch komplizierter:
In diesem Automaten geht es um ein Marsmännchen, das im Zustand Mars (Nr. 4) beginnt. Je nach Aktion (j für Jupiter, p für Pluto, w für Weltall und so weiter) springt das Marsmännchen in einen neuen Zustand, wenn dieser Zustandsübergang laut Diagramm möglich ist.
Allerdings gibt es noch zwei Feinheiten:
1. Für manche Zustandsübergänge gibt es eine Bedingung, die erfüllt sein muss. Diese Bedingungen sind in rot angegeben. Das Marsmännchen hat nämlich eine gewisse Sprungkraft, am Anfang 10. Vom Mars zum Jupiter springen kann es nur, wenn (neben der auslösenden Aktion j) seine Kraft mindestens 1 beträgt, sonst wird nichts daraus.
2. Und zuletzt gibt es manchmal, in dunkelgrün angegeben, noch weitere Aktionen, die neben dem Zustandsübergang ausgelöst werden. Im Fall vom Sprung von MArs zu Jupiter steht da etwa, dass sich die Kraft um 1 verringert, beim Sprung vom Weltall (Nr. 7) zum Mars (Nr. 4) sind es sogar 5 Punkte. Manche Reisen sind allerdings umsonst. Auftanken kann man nur auf dem Mond, wenn man den erreicht, wir die Kraft wieder auf 10 gesetzt. Wenn man irgendwo auf einem Planeten festsitzt und nicht genug Kraft hat um wegzukommen, ja, dann hat man Pech gehabt.
Einfacher ist das, wenn man es ausprobiert (Java-Applet, läuft also nicht überall):
Möglich sind die Eingaben: j, p, w (für Weltall), e, n (für Neumond), m und s – aber natürlich führen nicht alle immer zu einem Zustandsübergang.
Programmiert und gezeichnet haben den Marsmännchen-Automaten (abgesehen von der Ausgabe in einem Fenster, dazu später mehr) zwei Schülerinnen aus der 10. Klasse. Entstanden und im Video vorgestellt sind aber auch noch andere Automaten:
https://www.youtube.com/watch?v=ExWJaaJYRkU
Weitere Automaten: