В теории музыки интервал - это разница между двумя высотами. Каждый шаг определяется количеством полушагов (разница между C и C #) или целых шагов (разница между C и D). Один целый шаг такой же, как два полшага. Вот список всех интервалов по умолчанию и количество полушагов, которые они представляют:
0 Perfect Unison
2 Major Second
4 Major Third
5 Perfect Fourth
7 Perfect Fifth
9 Major Sixth
11 Major Seventh
12 Perfect Octave
Существует 3 варианта интервалов по умолчанию: незначительный , уменьшенный и расширенный .
Минорный интервал один полшага ниже основного интервала, но не идеальный интервал. Таким образом, у вас есть второстепенная секунда (1), малая третья (3), младшая шестая (8) и младшая седьмая (10). Нет такой вещи, как младшая четвертая, малая пятая, малая унисон или малая октава, так как все это идеальные интервалы.
Уменьшенный интервал один полшаг ниже , чем несовершеннолетний или совершенный интервал. Есть уменьшенная Вторая (0), уменьшенная третья (2), уменьшенная четвертая (4), уменьшенная пятая (6), уменьшенная шестая (7), уменьшенная седьмая (9) и уменьшенная октава (11).
Дополненной интервал один полшага выше , чем основной или идеальный интервал. У нас есть расширенный унисон (1), расширенный второй (3), расширенный третий (5), расширенный четвертый (6), расширенный пятый (8), расширенный шестой (10) и расширенный седьмой (12).
Соревнование:
Вы должны написать программу или функцию, которая выполняет несколько полушагов или целых шагов, а затем печатает одно из действительных английских описаний этого интервала. Неважно, какое описание вы выберете, если оно точно соответствует таблице ввода-вывода. Вы можете принять это как одну строку
"5w" == 5 whole steps
"3h" == 3 half steps
или как число и строка / символ.
5, "w" == 5 whole steps
3, "h" == 3 half steps.
Вы можете предположить, что каждый вход будет между 0 и 12 половинными шагами.
Таблица IO
Вот полный список, отображающий количество полушагов для всех приемлемых выходных данных.
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
Вот пример ввода / вывода:
5w Minor Seventh
5h Augmented Third
12h Perfect Octave
12w UNDEFINED
1w Diminished third
2h Major Second