Elenco e proposta di esercizi Macchine di Turing Esercizi svolti nel file PowerPoint 1. MdT che, partendo dalla prima cifra di destra, scorre un numero binario. 2. MdT che, partendo dalla prima cifra di destra, scorre un numero binario con ritorno. 3. MdT che, partendo dalla prima cifra di destra, moltiplichi un numero binario per 2. 4. MdT che, partendo dalla prima cifra di destra, calcoli il complemento ad 1 di un numero binario. 5. MdT che, partendo dalla prima cifra di destra, calcoli il complemento alla Base (2) di un numero binario. 6. Dato un numero binario, copi la prima cifra di destra nella prima casella vuota di sinistra. 7. Dato un numero binario, costruire una MdT che, partendo dalla prima cifra di sinistra, stampi alla sua destra il bit di parità (cioè 0 oppure 1 in modo tale che il numero totale di 1 sia pari). 8. Dato un numero binario, costruire una MdT che, partendo dalla prima cifra di destra, converta ogni coppia di cifre in una casella vuota e nel relativo valore in base 10. 9. MdT che, dati due numeri unari (un numero unario è espresso da tanti 1 quanto è il suo valore +1) separati dal segno +, partendo dalla prima cifra di destra, ne realizzi la somma. 10. MdT che, dati due numeri unari separati dal segno -, partendo dalla prima cifra di destra, ne realizzi la differenza. 11. MdT che, dato un numero binario, anteponga ad esso, separato da una casella vuota, il numero (binario) di 1 presenti nel numero dato. Esercizi svolti nel file Word 1. 2. 3. 4. Dato un numero binario, lo incrementi di 1. Dato un numero in base 10, lo incrementi di 1. Dato un numero in base 10, lo moltiplichi per 2. Dato un numero binario, scriva alla sua sinistra, separato da una casella vuota, il numero di 1 in esso presenti (= esercizio N°11 precedente). Prof. A.Venia 1 Elenco e proposta di esercizi Macchine di Turing Proposta di esercizi 1. Dato un numero in base 10 lo decrementi di 1. 2. Converta un numero dalla base 4 alla base 2. 3. Converta un numero dalla base 2 alla base 4. 4. Copi a destra di una stringa (seguita da una casella vuota) tutte le a presenti in essa. 5. MdT che, partendo dalla prima cifra di destra, di un numero binario calcoli il doppio +1. 6. Costruire una MdT che, partendo dalla prima cifra di destra, dato un numero binario calcoli l’intero della sua metà. 7. Dati due numeri unari separati da un *, costruire una MdT che sostituisca tale carattere con uno dei seguenti simboli: <; =; > tale da verificare l’effettiva relazione fra i due numeri. Valore iniziale Valore finale S0 S0 Esempio 1 1 * < 1 1 1 1 S0 S0 8. Dati due numeri in base 2 con lo stesso numero cifre separati da un *, costruire una MdT che sostituisca tale carattere con uno dei seguenti simboli: <; =; > tale da verificare l’effettiva relazione fra i due numeri. Esempio Valore iniziale S0 1 1 0 * 1 0 0 S0 Valore finale S0 S0 > 9. Costruire una MdT che, dato un numero binario, partendo dalla prima cifra di destra, cancelli tutte le cifre il cui posto è un multiplo di 3 e ritorni poi al punto di partenza. Oltre la matrice funzionale è richiesto il relativo grafo orientato e una breve descrizione. Valore iniziale Valore finale S0 S0 Esempio 1 1 0 1 S0 0 0 0 1 S0 1 1 0 0 S0 S0 10. Costruire una macchina di Turing che, dato un nastro iniziale contenente una sequenza di A e B, termina la sua esecuzione lasciando sul nastro la stessa sequenza seguita da un V se la sequenza iniziale contiene la sottosequenza “ABA”, una F altrimenti. 11. Costruire una macchina di Turing che, dato un nastro iniziale contenente una sequenza di cifre decimali, termini la sua esecuzione lasciando sul nastro la sequenza che si ottiene eliminando tutte le cifre 0 a sinistra della cifra diversa da 0 più a sinistra. Se la sequenza iniziale è composta da sole cifre 0, la macchina deve lasciare sul nastro solo uno 0. Prof. A.Venia 2