Data una sequenza binaria incrementare di 1 il suo valore
Esempi
NASTRO INIZIALE | NASTRO FINALE |
---|
0 | 1 |
---|
101 | 110 |
---|
111 | 1000 |
---|
Algoritmo
- Si sposta a destra
- Se incontra uno 0 scrive 1 e ha finito
- Se incontra un 1 scrive 0 col riporto di 1… e continua a sinistra
Codice #1 | Commenti |
---|
(0,0,0,0,>) | Va a destra … |
(0,1,0,1,>) | Va a destra … |
(0,-,S,-,<) | Comincia… |
(S,0,H,1,>) | Scrive 1, stop |
(S,-,H,1,>) | Scrive 1, stop |
(S,1,S,0,<) | Scrive 0 e va a sinistra, col riporto di 1 |
Codice #2 | Commenti |
---|
(0,01,0,01,>) | Va a destra sia con 0 che con 1 |
(0,-,S,-,<) | Comincia… |
(S,[0-],H,1,>) | Scrive 1 (se trova 0 oppure vuoto) |
(S,1,S,0,<) | Scrive 0 e va a sinistra, col riporto di 1 (se trova 1) |