· Andrea Pollini · programmazione · 1 min read
Esercizio C++ | Macchina quasi Turing
Esercizio C++ su di una simulazione di una macchina di Turing
![Esercizio C++ su di una simulazione di una macchina di Turing](/_astro/sitraka-cNv04cTNWoM-unsplash.BMt__9Bd.jpg)
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” -> ”@.++.@.++.”