Grazie per la risposta e la comprensione.
Ho provato a ragionare partendo dai tuoi suggerimenti, ho prodotto questo, secondo te va bene?
(S0, 0, S1, -) se nello stato S0 leggo 0 passo nello stato S1 e lo cancello(lo andrò a copiare alla fine e quando torno indietro parto dal secondo bit)
(S1, -, S2, >) se nello stato S1 leggo vuoto passo nello stato S2 e sposto la testina a destra
(S2, 0, S2, >) mi sposto alla prima cella vuota sia se leggo 0
(S2, 1, S2, >) sia se leggo 1
(S2, -, S3, >) se sono alla prima cella vuota vado avanti ancora di una
(S3, -, S4, 0) se anche questa cella è vuota scrivo il simbolo letto inizialmente(che era uno zero)
(S3, 0, S3, >) altrimenti significa che non è il primo simbolo che sto copiando e devo trovare una nuova cella vuota sia che leggo 0
(S3, 1, S3, >) sia se leggo 1
(S3, A, S3, >) sia se leggo A
(S3, B, S3, >) sia se leggo B
(S4, 0, S4, >) Se ho scritto 0 mi sposto di una cella avanti e
(S4, -, S4, A) scrivo la A dopo lo zero che avevo scritto
(S4, A, S5, <) torno indietro
(S5, 0, S5, <) torno indietro
(S5, 1, S5, <) torno indietro
(S5, A, S5, <) torno indietro
(S5, B, S5, <) torno indietro
(S5, -, S6, <) ho trovato la cella vuota che mi delimita la stringa di input da quella di output
(S6, 0, S6, <) torno ancora indietro fino ad arrivare nuovamente all'inizio della stringa di input che adesso è mutilata della prima cifra
(S6, 1, S6, <)
(S6, -, S0, >) riparto da S0 con la testina sul primo simbolo dell'input
Tutto questo solo se avessi trovato,stando nello stato S0, come primo simbolo lo zero, se invece avessi trovato 1 da S0 mi spostavo in S7.
(S0, 1, S7, -) Come la prima quadrupla solo che vado in S7 per ricordarmi che ho letto un 1 e cancello
(S7, -, S8, >) se nello stato S1 leggo vuoto passo nello stato S2 e sposto la testina a destra
(S8, 0, S8, >) mi sposto alla prima cella vuota sia se leggo 0
(S8, 1, S8, >) sia se leggo 1
(S8, -, S9, >) se sono alla prima cella vuota vado avanti ancora di una
(S9, -, S10, 1) se anche questa cella è vuota scrivo il simbolo letto inizialmente(che era un 1)
(S9, 0, S9, >) altrimenti significa che non è il primo simbolo che sto copiando e devo trovare una nuova cella vuota sia che leggo 0
(S9, 1, S9, >) sia se leggo 1
(S9, A, S9, >) sia se leggo A
(S9, B, S9, >) sia se leggo B
(S10,1,S10,>) Se ho scritto 1 mi sposto di una cella in avanti e
(S10, -,S10,B) scrivo la B
(S10, B,S5,<) torno indietro
Lo vedo lungo e complesso, ma sembra funzioni, se puoi dammi un tuo parere.
Grazie