Vai al contenuto

Edizione III

  • di

Problema 1

Programmare una macchina di Turing che, dato un nastro iniziale contenente un numero intero n compreso tra 1 e 9, termina la sua esecuzione lasciando sul nastro A…A (n consecutive).

NASTRO INIZIALENASTRO FINALE
1A
5AAAAA
9AAAAAAAAA

Problema 2

Programmare una macchina di Turing che, dato un nastro iniziale contenente una sequenza di n A consecutive (con n>0), termina la sua esecuzione lasciando sul nastro il numero n.

NASTRO INIZIALENASTRO FINALE
A1
AAAAAA6
AAAAAAAAAAA11

Problema 3

Programmare una macchina di Turing che, dato un nastro iniziale contenente due numeri interi positivi x e y separati da una cella vuota tali che x>y e 0<y<=9, termina la sua esecuzione lasciando sul nastro soltanto la differenza tra x e y.

NASTRO INIZIALENASTRO FINALE
9 45
13 67
302 3199

Problema 4

Indichiamo con S una sequenza formata da A, B o C ed indichiamo con x e y un simbolo che sia A o B.

Programmare una macchina di Turing che, dato un nastro iniziale contenente una sequenza del tipo xyS termina la sua esecuzione lasciando sul nastro la sequenza ottenuta da S rimpiazzando tutte le occorrenze di x con y.

NASTRO INIZIALENASTRO FINALE
ABCABCBB
BBABCABC
BA 

Problema 5

Programmare una macchina di Turing che, dato un nastro iniziale contenente due sequenze di A separate da una D, termina la sua esecuzione lasciando sul nastro la sequenza che contiene il maggior numero di A.

NASTRO INIZIALENASTRO FINALE
AADAAA
AADAAAAAA
AADAAAA
DAA

Problema 6

Indichiamo con S e T due sequenze non vuote e della stessa lunghezza formate da A o B.

Programmare una macchina di Turing che, dato un nastro iniziale contenente una sequenza del tipo SDT, termina la sua esecuzione lasciando sul nastro nastro la sola sequenza SI se T è un anagramma di S, la sola sequenza NO altrimenti.

NASTRO INIZIALENASTRO FINALE
ABADBAASI
BABADABBASI
ABBADBAANO
ABADABBNO

Problema 7

Programmare una macchina di Turing che, dato un nastro iniziale contenente un numero intero (arbitrariamente grande), termina la sua esecuzione lasciando sul nastro la sola sequenza SI se il numero è divisibile per 3, la sola sequenza NO altrimenti.

NASTRO INIZIALENASTRO FINALE
3SI
27SI
81SI
20NO
7676585NO

Problema 9

Una sequenza di parentesi si dice bilanciata secondo la seguente definizione induttiva:

  1. la sequenza vuota è bilanciata,
  2. se S e T sono sequenze bilanciate allora anche la sequenza (S)T è bilanciata.

Rappresentando ( con B e ) con E, programmare una macchina di Turing che, dato un nastro iniziale contenente una sequenza di ed E, termina la sua esecuzione lasciando sul nastro la sola sequenza SI se la sequenza è bilanciata, la sola sequenza NO altrimenti.

NASTRO INIZIALENASTRO FINALE
BEBESI
BBBEEESI
BBBEEESI
BBBEBEEBEESI
BEENO
BBBEEBNO

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *