feature image - https://source.unsplash.com/random/900×600/?math&sig=e6201845-0959-41b4-9249-cebe805bdbd01

Macchina quasi di turing

Esercizio

Creare un simulatore per una macchina quasituring. La macchina ha una memoria di una sola cella, contenente un intero. La macchina quasituring è composta da una serie di operazioni che si eseguono sulla cella. Le operazioni sono:

  • +: incrementa il contenuto della cella di 1
  • -: decrementa il contenuto della cella di 1
  • .: stampa il contenuto della cella
  • @: resetta la cella a zero

Considerando che il contenuto della cella sará poi stampato come lettera dell’alfabeto (a = 0, b = 1, c = 2, …, z = 25, !=26, ,=27) e che la macchina di quasituring legge i programmi sotto forma di stringa:

  • Costruire la macchina di quasituring (in una funzione) e verificarla per i programmi proposti sotto.
  • Costruire i programmi che stampano a video le seguenti stringhe:
    • “ciao”
    • il tuo nome

programmi di test

“abc” -> “@.+.+.” “aaa” -> “@…” “abab” -> “@.+.-.+.” “abab” -> “@.+.@.+.” “acac” -> “@.++.@.++.”

Altri Esercizi

Esercizi sugli array in C++

Esercizi sulle funzioni in C++

Esercizi sulle matrici / array bidimensionali in C++

Andrea Pollini

Matematico, informatico.