Dalam teori musik, interval adalah perbedaan antara dua nada. Setiap nada ditentukan oleh jumlah setengah langkah (Perbedaan antara C dan C #) atau seluruh langkah (Perbedaan antara C dan D). Satu langkah penuh sama dengan dua setengah langkah. Berikut adalah daftar semua interval default dan jumlah setengah langkah yang diwakilinya:
0 Perfect Unison
2 Major Second
4 Major Third
5 Perfect Fourth
7 Perfect Fifth
9 Major Sixth
11 Major Seventh
12 Perfect Octave
Ada 3 variasi pada interval default, minor , diminished , dan augmented .
Sebuah minor Interval adalah salah satu setengah langkah lebih rendah dari interval besar, tetapi tidak interval sempurna. Jadi Anda memiliki minor kedua (1), sepertiga minor (3), minor keenam (8), dan minor tujuh (10). Tidak ada yang namanya minor keempat, minor kelima, serempak kecil atau oktaf kecil karena ini semua interval sempurna.
Sebuah berkurang interval satu setengah langkah lebih rendah dari minor atau interval yang sempurna. Ada berkurang Kedua (0), berkurang ketiga (2), berkurang keempat (4), berkurang kelima (6), berkurang keenam (7), berkurang ketujuh (9) dan berkurangnya oktaf (11).
Sebuah augmented interval satu setengah langkah lebih tinggi dari interval besar atau sempurna. Kami memiliki Augmented Unison (1), Augmented Second (3), Augmented third (5), Augmented Fourth (6), Augmented kelima, (8), Augmented keenam (10), dan Augmented ketujuh (12).
Tantangan:
Anda harus menulis program atau fungsi yang mengambil sejumlah setengah langkah atau seluruh langkah dan kemudian mencetak salah satu deskripsi bahasa Inggris yang valid dari interval ini. Tidak masalah deskripsi yang Anda pilih, asalkan cocok dengan tabel IO. Anda dapat menganggap ini sebagai satu string
"5w" == 5 whole steps
"3h" == 3 half steps
atau sebagai angka dan string / char.
5, "w" == 5 whole steps
3, "h" == 3 half steps.
Anda dapat berasumsi bahwa setiap input akan antara 0 dan 12 setengah langkah.
Meja IO
Berikut adalah daftar lengkap memetakan jumlah setengah langkah untuk semua output yang dapat diterima.
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
Berikut ini beberapa contoh I / O:
5w Minor Seventh
5h Augmented Third
12h Perfect Octave
12w UNDEFINED
1w Diminished third
2h Major Second