Esercizio C++ | Macchina quasi Turing

Esercizio C++ | Macchina quasi Turing

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” -> ”@.++.@.++.”

Related Posts

descriptive text

7 Esercizi sui file in C++

## Esercizio 1: Scrivi un programma C++ che crei un file di testo vuoto chiamato "dati.txt".## Esercizio 2: Scrivi un programma C++ che apra un file di testo chiamato "dati.txt" in modalità scritt

Leggi
descriptive text

7 Esercizi intermedi C++ su funzioni, array, matrici e stringhe

Ecco un elenco di esercizi su funzioni, array, matrici e stringhe, dedicato per chi sta studiando C++ e vuole iniziare ad affrontare problemi piú complessi di quelli che si trovano spesso online (ch

Leggi
descriptive text

7 Esercizi sulle struct in C++

Ecco un elenco di esercizi sulle strutture con l'utilizzo delle `struct`, dedicato per chi sta studiando `C++` e vuole iniziare ad affrontare problemi piú complessi di quelli che si trovano spesso o

Leggi
descriptive text

Esercizi in C++ sulle struct [parte 1]

## Esercizio 1Definire una struct chiamata "Persona" che rappresenti una persona con i seguenti campi: nome, cognome, età e indirizzo. Scrivere una funzione per stampare i dettagli di una persona.

Leggi
descriptive text

Esercizio C++ | Mappe e altitudini

Ci é stato fornito una mappa delle altezze del suolo di una porzione di Marte di lato 20 metri. La risoluzione con cui è stata salvata è di 1 metro (abbiamo un valore per ogni metro quadrato di supe

Leggi
descriptive text

Esercizio C++ | Visita di Marte

Su Marte, la sonda [Curiosity](https://mars.nasa.gov/msl/home/) ha una posizione iniziale (0,0). Data una porzione di territorio di lato 20 metri, come nel problema [mappe e altitudini](/esercizio-c

Leggi
descriptive text

Corso completo di Svelte.js: Costruisci applicazioni web reattive e dinamiche

Rust è un linguaggio di programmazione moderno, sicuro e veloce. È stato creato nel 2010 da Mozilla e da allora è stato adottato da una crescente comunità di sviluppatori. Rust è adatto per una varie

Leggi
descriptive text

Esplorando l'incredibile mondo della simulazione del Physarum

Cari appassionati di simulazioni e biologia computazionale, oggi vi porterò alla scoperta di un'affascinante simulazione: il Physarum polycephalum. Questo organismo unicellulare, noto anche come "Muf

Leggi
descriptive text

Esercizi sui sistemi distribuiti

## Esercizio 1: Progettazione di un'architettura distribuitaScenario: Immaginate di dover progettare un sistema distribuito per una piattaforma di e-commerce che supporta un grande numero di utenti

Leggi