Die Webseiten der Fachschaft Informatik am ERG Saalfeld
Turing-Beispielprogramme
Es werden hier ein Incrementator, ein Decrementator, ein Paritätsprüfer, ein Programm zur Addition und ein Programm zu Subtraktion
für die Turingmaschine vorgestellt.
Incrementator
Dieses Programm erhöht die Anzahl der Einsen auf dem Band um eine Eins.
0 1 1 R 1 bedeutet: die TM ist im Zustand 0, liest eine 1, schreibt eine 1, geht nach rechts und ist im Zustand 1
1 1 1 R 1 die TM ist im Zustand 1, liest eine 1, schreibt eine 1, geht nach rechts und ist im Zustand 1
1 # 1 S 2 die TM ist im Zustand 1, liest ein Leereichen, schreibt eine 1, stoppt und ist im Zustand 2
Decrementator
Dieses Programm vermindert die Anzahl der Einsen auf dem Band um eine Eins. (Es wird hier davon ausgegangen, dass mindestens eine Eins auf dem Band steht.)
0 1 1 R 0
0 # # L 1
1 1 # S 1
Paritätsprüfer
Dieses Programm erzeugt eine gerade Anzahl von Einsen auf dem Band. Wenn auf dem Band eine gerade Anzahl von Einsen ist, dann
werden die Einträge auf dem Band so gelassen wie sie sind. Ist die Anzahl der Einsen auf dem Band ungerade, dann wird auf dem Band eine Eins hinzugefügt.
(siehe Weblink 1 und 2)
Idee: Wir gehen die Einsen auf dem Band der Reihe nach durch und wechseln jedesmal den Zustand. Also erste Eins Zustand 0, zweite Eins Zustand 1,
dritte Eins Zustand 0, vierte Eins Zustand 1, fünfte Eins Zustand 0 usw. Das bedeutet, bei den Einsen an der ungeraden Stelle ist die TM im Zustand 0,
bei den Einsen an der geraden Stelle ist die TM im Zustand 1.
0 1 1 R 1
1 1 1 R 0
1 # 1 S 2
0 # # S 2
Programm zur Addition
Bei diesem Programm sind auf dem Band m Einsen, dann ein Leerzeichen und dann n Einsen vorhanden. Durch das Programm sollen
die Einsen auf dem Band "zusammengefügt" werden, sodass m+n Einsen hintereinander auf dem Band stehen.
Idee: Wir gehen die Einsen auf dem Band der Reihe nach durch bis zum Leerzeichen und schreiben da eine Eins. Wir gehen dann die
zweite Gruppe von Einsen (also die 2. Zahl) durch bis zum Ende, gehen wieder eine Eins zurück und löschen diese Eins.
Programm zu Subtraktion
Bei diesem Programm sind auf dem Band m Einsen, dann ein Leerzeichen und dann n Einsen vorhanden. Dabei ist die Anzahl m der
Einsen auf dem Band größer als die Anzahl n. Durch das Programm
werden die Einsen auf dem Band abgezogen, sodass m-n Einsen hintereinander auf dem Band stehen.
Das Programm subtraktion.tm kann hier als zip-File runtergeladen werden.
Aufgaben
- Testen Sie das Programm Incrementator mit dem Turing-Simulator.
- Erläutern Sie das Programm Decrementator, wie es im Beispiel Incrementator angegeben ist (die Kommentare).
- Was macht das Programm Decrementator? Testen Sie das Programm mit dem Turing-Simulator.
- Erläutern Sie das Programm Paritätsprüfer, wie es im Beispiel Incrementator angegeben ist (die Kommentare).
- Testen Sie das Programm Paritätsprüfer mit dem Turing-Simulator für verschiedene ungerade und gerade Anzahl von Einsen.
- Erstellen Sie das Programm Addition und testen Sie es mit dem Turing-Simulator.
- Laden Sie das Programm für die Subtraktion herunter, laden Sie dieses in den Turing-Simulator und testen Sie das Programm.
- Erläutern Sie das Programm Subtraktion, wie es im Beispiel Incrementator angegeben ist.
Weblinks
- Paritätsprüfung (Uni Oödenburg)
- Paritätsprüfung (IT-Wissen.info)
zurück
© ERG Saalfeld - Hans-Dietrich Kirmse 13.04.2019
|