Vai al contenuto principale

Informatica · Implementazione

Macchina a registri fermata dopo un milione di istruzioni

Una macchina ha tre registri a, n, c ed esegue un programma una riga alla volta, partendo dalla riga 1. Le istruzioni sono: set r v (il registro r prende il valore v, che è un numero o un registro), inc r e dec r (aumentano o diminuiscono r di 1), add r s (aggiunge a r il valore del registro s), jnz r k (se r è diverso da 0 salta alla riga k, altrimenti passa alla riga successiva), jmp k (salta alla riga k). Ogni riga eseguita conta come un'istruzione, salti compresi.

1: set a 0
2: set n 0
3: inc n
4: set c n
5: add a n
6: dec c
7: jnz c 5
8: jmp 3

Il programma non termina. Quanto vale a dopo che sono state eseguite esattamente $10^{6}$ istruzioni?

La tua risposta

Vanno bene sia 3,14 sia 3.14.