ในทฤษฎีดนตรีช่วงเวลาคือความแตกต่างระหว่างสองครา แต่ละสนามถูกกำหนดโดยจำนวนครึ่งก้าว (ความแตกต่างระหว่าง 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) ลดลงที่เจ็ด (9) และคู่ลดลง (11)
เติมช่วงเวลาที่เป็นหนึ่งในขั้นตอนครึ่งที่สูงขึ้นกว่าช่วงเวลาที่สำคัญหรือที่สมบูรณ์แบบ เรามีความพร้อมเพรียงกันมากขึ้น (1), เพิ่มพูนที่สอง (3), เติมเต็มสาม (5), เติมเต็มสี่ (6), เพิ่มเติมที่ห้า, (8), เพิ่มเติมที่หก (10) และเพิ่มเจ็ด (12)
ความท้าทาย:
คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เวลาหลายขั้นตอนครึ่งหนึ่งหรือขั้นตอนทั้งหมดแล้วพิมพ์หนึ่งในคำอธิบายภาษาอังกฤษที่ถูกต้องของช่วงนี้ ไม่สำคัญว่าคุณจะเลือกคำอธิบายแบบใดตราบใดที่ตรงกับตาราง IO คุณสามารถใช้สิ่งนี้เป็นหนึ่งสาย
"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