Specchio

Pagina 193

La sequenza iniziale, contenente i caratteri A, B e C, si riflette allo specchio, viene ribaltata.

Esempi

Nastro inizialeNastro finale
AAAA
ABCCBA
ABBACCCCABBA

Affronta il problema per passi successivi

  1. Considera sequenze contenenti solo il carattere A
  2. … aggiungi la gestione del carattere B
  3. … aggiungi la gestione del carattere C.

Diagramma di stato #1

Ogni lettera A viene cancellata con un asterisco e ricopiata a sinistra.
Lo stato R e poi lo stato 0 riportano la testina sulla prima lettera originale.
Quando finiscono le lettere originali rimangono solo gli asterischi da cancellare.

Quintuple #1

(0, A, SA, *, <)
(0, *, 0, *, >)
(0, -, F, -, <)
(SA, A*, SA, A*, <)
(SA, -, R, A, >)
(R, A, R, A, >)
(R, *, 0, *, >)
(F, *, F, -, <)
  1. Una lettera A da copiare
  2. Ritorna a destra, salta gli asterischi
  3. Le lettere A sono finite
  4. Salta le A e gli asterischi per andare a scrivere una A a sinistra
  5. Scrive la A e ritorna a destra
  6. Salta le A per tornare a destra
  7. Trova un asterisco, torna allo stato iniziale
  8. Elimina tutti gli asterischi, per finire.

Diagramma di stato #2

Ogni lettera A, B e C viene ricopiata a specchio (a sinistra) seguendo il percorso corrispondente SA, SB e SC.
Quando finiscono le lettere originali rimangono solo gli asterischi da cancellare.

Tabella delle transizioni di stato

ABC*
0SA, *, <SB, *, <SC, *, <0, *, >F, -, <
SASA, A, <SA, B, <SA, C, <SA, *, <
SBSB, A, <SB, B, <SB, C, <SB, *, <
SCSC, A, <SC, B, <SC, C, <SC, *, <
RR, A, >R, B, >R, C, >0, *, >
FF, -, <

Quintuple #2

(0, A, SA, *, <)
(0, B, SB, *, <)
(0, C, SC, *, <)
(0, *, 0, *, >)
(0, -, F, -, <)
(SA, ABC*, SA, ABC*, <)
(SA, -, R, A, >)
(SB, ABC*, SB, ABC*, <)
(SB, -, R, B, >)
(SC, ABC*, SC, ABC*, <)
(SC, -, R, C, >)
(R, ABC, R, ABC, >)
(R, *, 0, *, >)
(F, *, F, -, <)
  1. Una lettera A da copiare
  2. Una lettera B da copiare
  3. Una lettera C da copiare
  4. Ritorna a destra, salta gli asterischi
  5. Le lettere ABC sono finite
  6. Salta A, B, C, * per andare a scrivere una A a sinistra
  7. Scrive la A e ritorna a destra
  8. Salta A, B, C, * per andare a scrivere una B a sinistra
  9. Scrive la B e ritorna a destra
  10. Salta A, B, C, * per andare a scrivere una C a sinistra
  11. Scrive la C e ritorna a destra
  12. Salta A, B, C per tornare a destra
  13. Trova un asterisco, torna allo stato iniziale
  14. Elimina tutti gli asterischi, per finire.

Lascia un commento