Numeri Trini
Un numero intero si dice trino se è divisibile per 3.
Se n è trino, n+1 si dice strino e n+2 distrino.
Si scriva un programma che, dato in input un numero decimale, lasci sul nastro una delle tre stringhe TRINO, STRINO o DISTRINO a seconda dei casi.
| Nastro iniziale | Nastro finale | |
|---|---|---|
| 1° | 3 | TRINO |
| 2° | 5 | DISTRINO |
| 3° | 82 | STRINO |
| 4° | 0 | TRINO |
Diagramma di stato #1

- A seconda della cifra letta passa attraverso gli stati 0, 10, 20
- Quando l’input finisce scrive la risposta corrispondente allo stato in cui si trova
(0,[0369],0 ,-,>) | n Mod 3 = 0 |
(0,[147],10,-,>) | |
(0,[258],20,-,>) | |
(0,-,1,T,>) | Scrive TRINO |
(1,-,2,R,>) | |
(2,-,3,I,>) | |
(3,-,4,N,>) | |
(4,-,H,O,>) | |
(10,[0369],10,-,>) | n Mod 3 = 1 |
(10,[147],20,-,>) | |
(10,[258],0 ,-,>) | |
(10,-,11,S,>) | Scrive STRINO |
(11,-,12,T,>) | |
(12,-,13,R,>) | |
(13,-,14,I,>) | |
(14,-,15,N,>) | |
(15,-,H ,O,>) | |
(20,[0369],20,-,>) | n Mod 3 = 2 |
(20,[147],0 ,-,>) | |
(20,[258],10,-,>) | |
(20,-,21,B,>) | Scrive DISTRINO |
(21,-,22,I,>) | |
(22,-,23,S,>) | |
(23,-,24,T,>) | |
(24,-,25,R,>) | |
(25,-,26,I,>) | |
(26,-,27,N,>) | |
(27,-,H,O,>) |
Diagramma di stato #2

Come prima, ma scrive la risposta a pezzi DI–S–TRINO per risparmiare stati e quintuple
(0,[0369],0,-,>) | n Mod 3 = 0 |
(0,[147],10,-,>) | |
(0,[258],20,-,>) | |
(0,-,1,T,>) | Scrive TRINO |
(1,-,2,R,>) | |
(2,-,3,I,>) | |
(3,-,4,N,>) | |
(4,-,H,O,>) | |
(10,[0369],10,-,>) | n Mod 3 = 1 |
(10,[147],20,-,>) | |
(10,[258],0,-,>) | |
(10,-,0,S,>) | Scrive S-TRINO |
(20,[0369],20,-,>) | n Mod 3 = 2 |
(20,[147],0,-,>) | |
(20,[258],10,-,>) | Scrive DI-S-TRINO |
(20,-,21,D,>) | |
(21,-,10,I,>) |