Guida utente del simulatore di Macchina di Turing per GNOME | ||
---|---|---|
Prev |
Viene ignorata qualsiasi linea vuota o qualsiasi linea che inizia con (#). Altrimenti ci si aspettano cinque elementi, separati da uno spazio. Essi sono il numero dello stato, il simbolo atteso, il simbolo da scrivere, la direzione in cui muoversi e il nuovo stato. Qualsiasi cosa segua tali elementi verrà ignorata.
I simboli attesi e i simboli da scrivere possono essere qualsiasi carattere stampabile. Il carattere blank (spazio vuoto) è rappresentato dall'underscore (_). Gli stati sono numeri interi, a partire da 0. Le possibili direzioni di movimento sono sinistra e destra, rappresentate, rispettivamente, da 'l' (left, sinistra) e 'r' (right, destra).
La macchina parte dallo stato 0 e si ferma quando non riesce a trovare il nuovo stato o il nuovo stato non si aspetta il simbolo di lettura.
È importante osservare che, poiché il nastro della macchina è pensato di lunghezza infinita, il nastro avrà un infinito numero di spazi vuoti in fondo ad ogni estremità di ciò che l'utente ha messo come contenuti del nastro.
Example 3-1. Binario ++
# Questo programma aggiunge 1 ad un numero binario. Il nastro iniziale deve # essere un numero binario. 0 1 1 r 0 Muove fino alla cifra piu' a destra del numero binario. Poi, va nello 0 0 0 r 0 stato 1. 0 _ _ l 1 1 1 0 l 1 Se c'e' un 1, lo cambia in 0 e si sposta a sinistra. 1 0 1 r 2 Se c'e' uno 0, lo cambia in 1 e va nello stato 2 1 _ 1 r 2 Fa lo stesso per gli spazi bianchi. # Visto che non c'e' uno stato 2, la macchina si ferma. |