Die letzten 7 Beiträge |
blackdrake |
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 |
blackdrake |
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 |
ed209 |
Und wo führt man die Palindrome nun ein? |
orkano |
____________
|"""""""""""""""|
|""""""o""""""""|
|___________|_________|=
^
|
Turingmaschine mit An-Knopf und Stecker, die Palindrome erkennt.
Ich hoffe sehr, dir geholfen zu haben! |
JROppenheimer |
Die Formulierung ist schon geil: "So ich brauche" .... geil, das kenn ich so nicht mal von meinem Arbeitgeber .... und der bezahlt mich
|
Tobias |
Wir sind hier kein Hausaufgabendienstleister. |
Pillemann |
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 |
|
|