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 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. |