Musica, musica!
Tradizionalmente, le sette note della scala musicale vengono denominate in Italia do, re, mi, fa, sol, la, si.
Le stesse note nel sistema anglosassone vengono indicate con le prime lettere dell’alfabeto: A, B, … G, con
DO <--> C
RE <--> D
MI <--> E
FA <--> F
SOL <--> G
LA <--> A
SI <--> B
Si scriva un programma che, data una stringa di note nel sistema anglosassone, lasci sul nastro le note equivalenti nel sistema italiano, separate da un punto.
Nastro iniziale | Nastro finale | ? | |
---|---|---|---|
1° | CCDCFE | DO.DO.RE.DO.FA.MI | Tanti auguri |
2° | CDECCDECEFGEFG | DO.RE.MI.DO.DO.RE.MI.DO.MI.FA.SOL.MI.FA.SOL | Fra’ Martino |
3° | BACBAC | SI.LA.DO.SI.LA.DO | Zerlina cede alle lusinghe di Don Giovanni (Mozart) |
Diagramma di stato

- Se legge la A, la cancella, va tutto a destra per scrivere .LA, Ritorna a sinistra e ricomincia
- Se legge la B, la cancella, va tutto a destra per scrivere .SI, …
- …
- Se legge la G, la cancella, va tutto a destra per scrivere .SOL, …
- Se nello stato 0 legge il punto, lo cancella e si arresta.
Quintuple
(0, A, A, -, >) | Ha letto la A |
(0, B, B, -, >) | Ha letto la B |
(0, C, C, -, >) | Ha letto la C |
(0, D, D, -, >) | Ha letto la D |
(0, E, E, -, >) | Ha letto la E |
(0, F, F, -, >) | Ha letto la F |
(0, G, G, -, >) | Ha letto la G |
(0, ., H, -, >) | Ha letto il punto, non ci sono più note |
(A, [A..Z.], A, [A..Z.], >) | Salta tutto per scrivere “.LA” |
(A, -, A1, ., >) | Scrive . |
(A1, -, A2, L, >) | Scrive L |
(A2, -, R, A, <) | Scrive A |
(B, [A..Z.], B, [A..Z.], >) | Salta tutto per scrivere “.SI” |
(B, -, B1, ., >) | Scrive . |
(B1, -, B2, S, >) | Scrive S |
(B2, -, R, I, <) | Scrive I |
… | … |
(R,[A..Z.], R, [A..Z.],<) | Ritorna a sinistra |
(R,-,0,-,>) | Arrivato a sinistra, ricomincia |