Esistono molte implementazioni della macchina di Turing, reperibili in rete, che permettono di sperimentare.
Attenzione: implementazioni diverse hanno sintassi diverse!
La macchina ufficiale della Gara Nazionale è quella a destra: Turing Machine Simulator.
Alcune informazioni
- Scrivi il programma nell’area di testo in alto a destra.
- Inserisci l’input nella casella di testo in basso a sinistra.
- Velocità: si può rallentare o accelerare l’esecuzione del programma (0, 1, …, 9, 10).
- Esegui: inizia l’esecuzione del programma.
- Stop: ferma l’esecuzione del programma.
- Lo stato attuale è visibile sullo schermo (lo stato iniziale è sempre 0).
- Non è specificato uno stato di arresto ufficiale, la macchina si arresta quando incontra una situazione non prevista.
- La macchina non fa distinzione tra le lettere minuscole e maiuscole.
- La testina inizia a lavorare sempre sul primo carattere a sinistra della stringa input.
- Se non specificato altrimenti negli esercizi, le sequenze iniziali su nastro si intendono non vuote, ovvero contenenti almeno un simbolo.
- Nel fornire le soluzioni, ricordarsi di pulire il nastro finale da ogni simbolo che non costituisca la risposta!
- Per numero decimale si intende un numero positivo o nullo rappresentato con le cifre 0, 1, 2, …, 9, senza zeri iniziali non significativi. Per esempio 0 e 19 sono numeri validi, mentre 0032 deve essere scritto come 32.
Quintuple
- Le quintuple hanno la forma:

- Dopo la virgola si può lasciare uno spazio:

- Il carattere vuoto (spazio) viene rappresentato con il segno meno:

- Lo spostamento è uno dei 3 caratteri
>, destra<, sinistra-, fermo
- Il segno meno indica il carattere bianco/vuoto e anche lo spostamento nullo.
Sintassi aggiuntiva
Per semplificare la scrittura delle quintuple sono state introdotte delle regole sintattiche che permettono di riassumere quintuple simili
| Quintupla | equivale a… | ? |
|---|---|---|
| Una sequenza di caratteri in input Una sequenza di caratteri in output | ||
| Una sequenza di caratteri in input Un carattere in output | ||
| Un intervallo di cifre | ||
| Un intervallo di lettere | ||
| Una sequenza di stati |
