Nella teoria musicale, un intervallo è la differenza tra due toni. Ogni passo è definito dal numero di semipassi (La differenza tra C e C #) o interi passi (La differenza tra C e D). Un intero passaggio equivale a due mezze fasi. Ecco un elenco di tutti gli intervalli predefiniti e il numero di semiprezi che rappresentano:
0 Perfect Unison
2 Major Second
4 Major Third
5 Perfect Fourth
7 Perfect Fifth
9 Major Sixth
11 Major Seventh
12 Perfect Octave
Esistono 3 variazioni sugli intervalli predefiniti, minore , diminuito e aumentato .
Un intervallo minore è inferiore di un mezzo passo rispetto a un intervallo maggiore, ma non è un intervallo perfetto. Quindi hai un secondo minore (1), un terzo minore (3), un sesto minore (8) e un settimo minore (10). Non esiste una quarta minore, una quinta minore, unisono minore o un'ottava minore poiché sono tutti intervalli perfetti.
Un intervallo ridotto è inferiore di un mezzo passo rispetto a un intervallo minore o perfetto. Vi è una seconda (0) ridotta, una terza (2) ridotta, una quarta (4), una quinta (6), una sesta (7), una settima (9) e un'ottava ridotta (11).
Un intervallo aumentato è di mezzo passo in più rispetto a un intervallo maggiore o perfetto. Abbiamo Augmented Unison (1), Augmented Second (3), Augmented Third (5), Augmented Fourth (6), Augmented 5th, (8), Augmented Sixth (10) e Augmented Seventh (12).
La sfida:
È necessario scrivere un programma o una funzione che richiede un numero di mezze fasi o intere fasi e quindi stampa una delle descrizioni inglesi valide di questo intervallo. Non importa quale descrizione scegli, purché corrisponda esattamente alla tabella IO. Puoi prenderlo come una stringa
"5w" == 5 whole steps
"3h" == 3 half steps
o come un numero e una stringa / carattere.
5, "w" == 5 whole steps
3, "h" == 3 half steps.
Si può presumere che ogni input sarà compreso tra 0 e 12 mezze fasi.
Tabella IO
Ecco un elenco completo che associa il numero di semipassi a tutti gli output accettabili.
0 Perfect unison, Diminished second
1 Minor second, Augmented unison
2 Major second, Diminished third
3 Minor third, Augmented second
4 Major third, Diminished fourth
5 Perfect fourth, Augmented third
6 Diminished fifth, Augmented fourth
7 Perfect fifth, Diminished sixth
8 Minor sixth, Augmented fifth
9 Major sixth, Diminished seventh
10 Minor seventh, Augmented sixth
11 Major seventh, Diminished octave
12 Perfect octave, Augmented seventh
Ecco alcuni esempi di I / O:
5w Minor Seventh
5h Augmented Third
12h Perfect Octave
12w UNDEFINED
1w Diminished third
2h Major Second