Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Informatik in der Schule (http://www.informatikerboard.de/board/board.php?boardid=21)
--- Touringmaschine (http://www.informatikerboard.de/board/thread.php?threadid=385)


Geschrieben von Pillemann am 13.03.2008 um 10:39:

  Touringmaschine

So.. ich bruache eine Turingmaschine, die folgende Prozedur erfüllen soll:

Sie erkennt alle möglichen Palindrome...
bestehend aus nullen und einsen!

also:
10101 : klappt
110: klappt nicht

schonmal danke im vorraus



Geschrieben von Tobias am 13.03.2008 um 11:35:

 

Wir sind hier kein Hausaufgabendienstleister.



Geschrieben von JROppenheimer am 13.03.2008 um 22:34:

 

Die Formulierung ist schon geil: "So ich brauche" .... geil, das kenn ich so nicht mal von meinem Arbeitgeber .... und der bezahlt mich großes Grinsen großes Grinsen großes Grinsen



Geschrieben von orkano am 08.04.2008 um 21:10:

 

____________
|"""""""""""""""|
|""""""o""""""""|
|___________|_________|=

^
|
Turingmaschine mit An-Knopf und Stecker, die Palindrome erkennt.
Ich hoffe sehr, dir geholfen zu haben!



Geschrieben von ed209 am 09.04.2008 um 12:33:

 

Und wo führt man die Palindrome nun ein?



Geschrieben von blackdrake am 18.07.2009 um 04:33:

 

Gib uns doch mal deinen Ansatz.

Übrigens: Die Palindrome sollen auf dem Band liegen? Wo befindet sich der Lese/Schreibkopf im Ausgangszustand? In der "Mitte" des Palindroms (sofern Anzahl gerade)? - Andernfalls?



____________--(*)
|"""""""""""""""'|
|_____________|""""""o""""""""|
|___________|_________|=

^ Papiereinzugsfach dazugebaut... für Palindromeingabe



Geschrieben von blackdrake am 19.07.2009 um 21:01:

 

Quelle: w w w. matheprisma. d e / Module / Turing / index . htm?19

Kann ein Palindrom bestehend aus A und B erkennen.

(z1 ,_) ---> (z2 ,#,R) [Markierung setzen, um später eine Antwort anzuzeigen]
(z2 ,A) ---> (z3 ,_,R) ['A' löschen, in Zustand '3' wechseln, nach rechts laufen]
(z2 ,B) ---> (z4 ,_,R) ['B' löschen, in Zustand '4' wechseln, nach rechts laufen]
(z2 ,_) ---> (z7 ,_,L) [Kein Zeichen mehr auf dem Band]
(z3 ,A) ---> (z3 ,A,R) [Nach rechts laufen bis zum ersten Leerzeichen]
(z3 ,B) ---> (z3 ,B,R) [Nach rechts laufen bis zum ersten Leerzeichen]
(z3 ,_) ---> (z5 ,_,L) [Ende der Zeichenkette erreicht; nun ein Feld nach links]
(z4 ,A) ---> (z4 ,A,R) [Nach rechts laufen bis zum ersten Leerzeichen]
(z4 ,B) ---> (z4 ,B,R) [Nach rechts laufen bis zum ersten Leerzeichen]
(z4 ,_) ---> (z6 ,_,L) [Ende der Zeichenkette erreicht; nun ein Feld nach links]
(z5 ,A) ---> (z11,_,L) ['A' erwartet und 'A' gelesen; nun'A' löschen und nach links]
(z5 ,B) ---> (z12,_,L) ['A' erwartet aber 'B' gelesen; kein Palindrom!]
(z5 ,_) ---> (z7 ,_,L) [Kein Zeichen mehr auf dem Band; Palindrom!]
(z6 ,A) ---> (z12,_,L) ['B' erwartet aber 'A' gelesen; kein Palindrom!]
(z6 ,B) ---> (z11,_,L) ['B' erwartet und 'B' gelesen; nun 'B' löschen und nach links]
(z6 ,_) ---> (z7 ,_,L) [Kein Zeichen mehr auf dem Band; Palindrom!]
(z7 ,#) ---> (z8 ,_,R) [Markierung gefunden; Markierung löschen]
(z7 ,_) ---> (z7 ,_,L) [Nach links laufen bis zur Markierung]
(z8 ,_) ---> (z9 ,J,R) ['J' auf das Band schreiben]
(z9 ,_) ---> (z10,A,H) ['A' auf das Band schreiben]
(z11,A) ---> (z11,A,L) [Nach links laufen bis zum Leerzeichen]
(z11,B) ---> (z11,B,L) [Nach links laufen bis zum Leerzeichen]
(z11,_) ---> (z2 ,_,R) [Lesekopf eine Position nach rechts verschieben]
(z12,#) ---> (z13,_,R) [Markierung gefunden; Markierung löschen]
(z12,A) ---> (z12,_,L) [Alles löschen bis zur Markierung]
(z12,B) ---> (z12,_,L) [Alles löschen bis zur Markierung]
(z12,_) ---> (z12,_,L) [Nach links laufen bis zur Markierung]
(z13,_) ---> (z14,N,R) ['N' auf das Band schreiben]
(z14,_) ---> (z15,E,R) ['E' auf das Band schreiben]
(z15,_) ---> (z16,I,R) ['I' auf das Band schreiben]
(z16,_) ---> (z17,N,H) ['N' auf das Band schreiben]

Dort gibt's sogar einen Java-Simulator


Forensoftware: Burning Board, entwickelt von WoltLab GmbH