i

Ein Marienkäfer als Turingmaschine

Kara und ihre/seine Welt

Die Ideen von Turing können auch mit dem Marienkäfer Kara umgesetzt werden.

Karas Welt

Kara lebt in einer Welt aus quadratischen Feldern. Hier kann Kara einige einfache Operationen ausführen: einen Schritt vorwärts gehen, sich um 90° nach rechts bzw. links drehen, ein Kleeblatt hinlegen bzw. aufnehmen.

Aufgabe 1

Probiere das selbst einmal aus. Kara kannst du mit der Maus in ein beliebiges Feld der Welt "ziehen". Kara führt Operationen aus, wenn du die blauen Schaltflächen anklickst.

Steuerung von Kara

Wir betrachten die folgende Ausgangssituation: Kara steht auf dem ersten Kleeblatt einer Reihe von Kleeblättern.

Welt - vorher

Kara soll ein Kleeblatt am Ende der Reihe hinzufügen und zurück zur Ausgangsposition laufen. Wir entwickeln hierzu ein Steuerprogramm.

Mit der Schaltfläche [Programmieren] gelangt man in das Programmierfenster.

Kara - Programmieren

Die Idee zur Steuerung von Kara soll zunächst anhand der folgenden Tabelle erläutert werden.

aktueller Zustand Bedingung Aktionen neuer Zustand
endeSuchen auf Kleeblatt: wahr Schritt vorwärts endeSuchen
endeSuchen auf Kleeblatt: falsch Kleeblatt hinlegen; links drehen; links drehen, Schritt vorwärts anfangSuchen
anfangSuchen auf Kleeblatt: wahr Schritt vorwärts anfangSuchen
anfangSuchen auf Kleeblatt: falsch links drehen; links drehen; Schritt vorwärts stop

Kara befindet sich stets in einem bestimmten Zustand. Zu Beginn ist das der Zustand "endeSuchen". Kara hat Sensoren, mit denen sie/er z.B. wahrnehmen kann, ob sie/er auf einem Kleeblatt steht. Je nach Zustand und wahrgenommener Umgebung kann Kara dann Aktionen ausführen und gegebenenfalls in einen neuen Zustand wechseln. Wenn sich Kara z.B. im Zustand "endeSuchen" befindet und auf einem Kleeblatt steht, dann soll Kara einen Schritt vorwärts gehen. Zudem soll Kara im Zustand "endeSuchen" verbleiben.

Eine solche Steuertabelle lässt sich im Programmierfenster aufbauen.

Zunächst führt man die Zustände ein. Beachte, dass die jeweils benötigten Sensoren bereitgestellt werden müssen. Beachte auch, dass ein Zustand als Startzustand ausgezeichnet wird.

Zustand

Anschließend werden die Zustandsübergänge (wie in der Tabelle beschrieben) festgelegt.

Startzustand

Wenn das Steuerprogramm fertiggestellt ist, kann Kara das Programm (im Weltfenster) ausführen.

Aufgabe 2

Probiere das selbst einmal aus. Gib im Programmfenster ein geeignetes Steuerprogramm ein und teste dieses Steuerprogramm im Weltfenster.

Kara lernt rechnen

Kara soll Kleeblätter benutzen, um einfache Rechenoperationen auszuführen. Zahlen sollen dabei mit Kleeblättern dargestellt werden. So soll z.B. die Zahl 4 mit einer Kleeblattreihe bestehend aus 4 Kleeblättern codiert werden. Im Beispiel oben kann dann das Hinzufügen eines Kleeblatts als Rechenoperation "+1" gedeutet werden.

Im Folgenden betrachten wir die Rechenoperation "*2". Zur Ausführung dieser Rechenoperation muss also die Länge einer Kleeblattreihe verdoppelt werden. Schaffst du das?

Aufgabe 3

Entwickle ein Kara-Steuerprogramm zur Verdopplung von Kleeblattreihen.

vorher nachher

Aufgabe 4

Wir schränken die Kara-Welt ein. Im Bereich [Größe] im Weltfenster kann man die Breite und Höhe des Weltfensters festlegen.

Entwickle ein Kara-Steuerprogramm zur Verdopplung von Kleeblattreihen.

vorher nachher

Aufgabe 5

Kara soll Nachrichten verschlüsseln. Jeder Buchstabe wird durch eine Kleeblattreihe (bzw. Zahl) codiert, der Buchstabe A durch eine Kleeblattreihe der Länge 1, der Buchstabe B durch eine Kleeblattreihe der Länge 2 usw.. Beim Verschlüsseln sollen 3 Schritte im Alphabet weitergegangen werden.

Entwickle ein Kara-Steuerprogramm zur Ausführung der Verschlüsselung.

vorher nachher

Überlege dir selbst, was am Ende des Alphabets geschehen soll und ob bzw. wie das mit Kara realisierbar ist.

Suche

v
2.5.3.2
www.inf-schule.de/algorithmen/berechenbarkeit/turingmaschine/station_kara
www.inf-schule.de/2.5.3.2
www.inf-schule.de/@/page/xgGU9elN81IQdlJa

Rückmeldung geben