Esercizi sulla Macchina di Turing

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,-,>)

Lascia un commento