Vai al contenuto

Edizione I – Problema 7

  • di

Programmare una Macchina di Turing che, dato un nastro iniziale contenente una sequenza di A e B, con almeno una B, termina la sua esecuzione lasciando sul nastro la sequenza di sole B consecutive (cioè non separate da alcuno spazio) che si ottiene da quella iniziale eliminando tutte le A.

Esempi

NASTRO INIZIALENASTRO FINALE
ABAABABB
BAAABABBBBBB
BBBBBB

Algoritmo

0107

  • Se incontra una A la cancella
  • Se incontra una B la cancella ma la riscrive a destra come X e ricomincia
  • Quando le A e B finiscono traduce le X in B
CodiceCommenti
(0,A,0,-,>)Elimina le A
(0,B,B,-,>)Elimina una B e va nello stato B
(0,X,0,B,>)Traduce le X in B
(B,ABX,B,ABX,>)Salta ABX per andare a destra
(B,-,R,X,<)Scrive X e ritorna
(R,ABX,R,ABX,<)Salta ABX per andare a sinistra
(R,-,0,-,>)Ricomincia

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *