
Ecco a voi alcuni esercizi sulla Macchina di Turing. Per qualsiasi domanda scriveteci a programmazionepertutti@gmail.com o qui sotto nei commenti.
Somma 300
Parto posizionandolo sulle unità:
(0,[0..9],0,[0..9],>)
(0,-,U,-,<)
Vado sulle decine:
(U,[0..9],D,[0..9],<)
Centinaia
(D,[0..9],C,[0..9],<)
Inizio con le somme
(C,[0..6],INDIETRO,[3456789],<)
(C,[789],RIPORTO,[012],<)
Gestisco lo stato RIPORTO:
(RIPORTO,[0..8],INDIETRO,[1..9],<)
(RIPORTO,9,RIPORTO,0,<)
(RIPORTO,-,FINE,1,-)
Gestisco lo stato INDIETRO:
(INDIETRO,[0..9],INDIETRO,[0..9],<)
(INDIETRO,-,FINE,-,>)
Descrizioni stati:
0= Stato iniziale
U=Testina posizionata in corrispondenza delle unità
D=Testina posizionata in corrispondenza delle decine
C=Testina posizionata in corrispondenza delle centinaia
RIPORTO=La MDT doveva piazzare un riporto
INDIETRO= La macchina riposiziona la testina in corrispondenza della cifra più significativa
FINE= Stato Finale
Sottraggo 400
Parte iniziale:
(0,[0..9],0,[0..9],>)
(0,-,U,-,<)
Vado sulle decine:
(U,[0..9],D,[0..9],<)
Centinaia:
(D,[0..9],C,[0..9],<)
Inizio con le sottrazioni:
(C,[4..9],INDIETRO,[0..5],<)
(C,[0..3],PRESTITO,[6..9],<)
Gestisco lo stato PRESTITO:
(PRESTITO,[1..9],INDIETRO,[0..8],<)
(PRESTITO,0,PRESTITO,9,<)
Gestisco lo stato INDIETRO:
(INDIETRO,[0..9],INDIETRO,[0..9],<)
(INDIETRO,-,FINE,-,>)
Leggenda:
0=Stato iniziale
U=Testina posizionata in corrispondenza delle unità
D=Testina posizionata in corrispondenza delle decine
C=Testina posizionata in corrispondenza delle centinaia
INDIETRO= La macchina riposiziona la testina in corrispondenza della cifra più significativa
PRESTITO=La macchina di Turing deve ottenere un prestito di una unità
FINE= Stato Finale
Somma 47
Parte iniziale:
(0,[0..9],0,[0..9],>)
(0,-,U,-,<)
Gestisco lo stato U:
(U,[0..2],DS,[7..9],<)
(U,[3..9],DR,[0..6],<)
Gestisco lo stato DS:
(DS,[0..5],INDIETRO,[4..9],<)
(DS,[6..9],RIPORTO,[0..3],<)
Gestisco lo stato DR:
(DR,[0..4],INDIETRO,[5..9],<)
(DR,[5..9],RIPORTO,[0..4],<)
Gestisco lo stato RIPORTO:
(RIPORTO,[0..8].INDIETRO,[1..9],<)
(RIPORTO,9,RIPORTO,0,<)
(RIPORTO,-,FINE,1,-)
Gestisco lo stato INDIETRO:
(INDIETRO,[0..9],INDIETRO,[0..9],<)
(INDIETRO,-,FINE,-,>)
Sottrai 48
Parte iniziale:
(0,[0..9],0,[0..9],>)
(0,-,U,-,<)
Gestisco lo stato U:
(U,[89],DS,[01],<)
(U,[0..7],DP,[2..9],<)
Gestisco lo stato DS:
(DS,[4..9],INDIETRO,[0..5],<)
(DS,[0..3],PRESTITO,[6..9],<)
Gestisco lo stato DP:
(DP,[5..9],INDIETRO,[0..4],<)
(DP,[0..4],PRESTITO,[5..9],<)
Gestisco lo stato PRESTITO:
(PRESTITO,[1..9],INDIETRO,[0..8],<)
(PRESTITO,0,PRESTITO,9,<)
Gestisco lo stato INDIETRO:
(INDIETRO,[0..9],INDIETRO,[0..9],<)
(INDIETRO,-,FINE,-,>)