En teoría musical, un intervalo es la diferencia entre dos tonos. Cada tono se define por el número de medios pasos (La diferencia entre C y C #) o pasos completos (La diferencia entre C y D). Un paso completo es lo mismo que dos medios pasos. Aquí hay una lista de todos los intervalos predeterminados y el número de medios pasos que representan:
0 Perfect Unison
2 Major Second
4 Major Third
5 Perfect Fourth
7 Perfect Fifth
9 Major Sixth
11 Major Seventh
12 Perfect Octave
Hay 3 variaciones en los intervalos predeterminados, menores , disminuidos y aumentados .
Un intervalo menor es medio paso más bajo que un intervalo mayor, pero no es un intervalo perfecto. Entonces tienes un segundo menor (1), un tercero menor (3), un sexto menor (8) y un séptimo menor (10). No existe un cuarto menor, un quinto menor, unísono menor u octava menor, ya que todos estos son intervalos perfectos.
Un intervalo disminuido es medio paso más bajo que un intervalo menor o perfecto. Hay segundo disminuido (0), tercero disminuido (2), cuarto disminuido (4), quinto disminuido (6), sexto disminuido (7), séptimo disminuido (9) y octava disminuida (11).
Un intervalo aumentado es medio paso más alto que un intervalo mayor o perfecto. Hemos aumentado Unison (1), Aumento de segundo (3), Aumento de tercero (5), Aumento de cuarto (6), Aumento de quinto, (8), Aumento de sexto (10) y Aumento de séptimo (12).
El reto:
Debe escribir un programa o función que tome varios medios pasos o pasos completos y luego imprima una de las descripciones válidas en inglés de este intervalo. No importa qué descripción elija, siempre que coincida exactamente con la tabla IO. Puedes tomar esto como una cadena
"5w" == 5 whole steps
"3h" == 3 half steps
o como un número y una cadena / char.
5, "w" == 5 whole steps
3, "h" == 3 half steps.
Puede suponer que cada entrada tendrá entre 0 y 12 medios pasos.
Mesa IO
Aquí hay una lista completa que asigna el número de medios pasos a todas las salidas aceptables.
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
Aquí hay algunos ejemplos de E / S:
5w Minor Seventh
5h Augmented Third
12h Perfect Octave
12w UNDEFINED
1w Diminished third
2h Major Second