音楽理論では、間隔は2つのピッチの差です。各ピッチは、ハーフステップ(CとC#の違い)またはステップ全体(CとDの違い)の数によって定義されます。1つの全体のステップは、2つの半分のステップと同じです。すべてのデフォルト間隔とそれらが表すハーフステップの数のリストは次のとおりです。
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つの半段階の主要な間隔よりも低くはなく、完璧な間隔です。したがって、マイナーな秒(1)、マイナーな3番目(3)、マイナーな6番目(8)、マイナーな7番目(10)があります。これらはすべて完全な間隔であるため、マイナー4、マイナー5、マイナーユニゾン、マイナーオクターブなどはありません。
減少間隔はマイナーより1半音低くなっているか、完璧な間隔。減少した2番目(0)、3番目の減少(2)、4番目の減少(4)、5番目の減少(6)、6番目の減少(7)、7番目の減少(9)、およびオクターブの減少(11)があります。
増強間隔は、1つの半段階で高いメジャーまたは完璧な間隔より。ユニゾンの拡張(1)、2番目の拡張(3)、3番目の拡張(5)、4番目の拡張(6)、5番目の拡張、(8)、6番目の拡張(10)、7番目の拡張(12)があります。
チャレンジ:
半ステップまたは全ステップを数回実行し、この間隔の有効な英語の説明の1つを印刷するプログラムまたは関数を作成する必要があります。IOテーブルと完全に一致する限り、どの説明を選択してもかまいません。これを1つの文字列として取ることができます
"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
サンプルI / Oは次のとおりです。
5w Minor Seventh
5h Augmented Third
12h Perfect Octave
12w UNDEFINED
1w Diminished third
2h Major Second