Trompet genellikle perdeli bir valfli nefesli enstrüman vardır B♭
. Ses, enstrüman içindeki havayı değiştirmek için oyuncu dudaklarını titreştiğinde verilir. Bu titreşim, kişinin ağzını embouchure adı verilen belirli bir şekilde ayarlayarak elde edilir. Daha sıkı veya daha gevşek dudaklı farklı embouchures farklı perdeler üretir.
Ayrıca, trompetteki her bir valf de cihazın perdesini değiştirir. Bir valf basıldığında, aletin borusunun içindeki bir yolu kapatarak havanın daha uzun bir yoldan akmasını sağlar, böylece orijinal sesin perdesini düşürür. Bu meydan okuma için, B♭
ilk valfin adımı tam adım düşürdüğü, ikincisi adımı yarım adım düşürdüğü ve üçüncüsü adımı bir ve bir düşürdüğü standart trompet dikkate alınacaktır. yarım adım.
Meydan okuma
Zorluğunuz, iki girdi verilen embouchure
ve valves
çalınan notanın perdesini belirleyen bir program veya işlev oluşturmaktır .
Bu zorluğun amaçları için, notlar diziyi takip edecektir:
B♭, B, C, C♯, D, E♭, E, F, F♯, G, G♯, A.
kurallar
- G / Ç herhangi bir makul yöntemle alınabilir / verilebilir .
- Standart boşluklar geçerlidir.
- Kullanmanıza izin verilir
b
ve#
bunun yerine♭
ve♯
isterseniz. - İçin giriş
valves
, boşaltma valfleri listesi (1, 3
) veya bir boole listesi (1, 0, 1
) olarak alınabilir . - Bu kod golf , her dilde en kısa kod kazanır.
Test Durumları:
Valves
bu test durumlarında, boole listesi olarak verilir; burada 0, depresif ve 1, basılı anlamına gelir.
Embouchure: Valves: Output:
B♭ 0 0 0 B♭
B♭ 0 1 0 A
B♭ 1 0 1 F
C♯ 0 0 1 B♭
C♯ 1 1 1 G
E♭ 1 0 0 C♯
G 0 1 1 E♭
G♯ 1 0 0 F♯
G♯ 0 0 1 F
G 1 0 0 F
F♯ 1 0 0 E
D 1 0 1 A
A 1 1 1 E♭
E 1 1 0 C♯
E 0 0 1 C♯
Feragatname: Henüz bir müzisyen değilim, bu yüzden test senaryolarında yapabileceğim herhangi bir kasap için özür dilerim. Düzeltmeler takdir edilmektedir.
F# 100
E F olmamak?
C#
Herhangi bir valfe basmadan trompet üzerinde oynatamazsınız . Sadece belirli notlar ( B♭-F-B♭-D-F-A♭-B♭...
), aşırı ton serisinin B♭
. Yine de, gerçek bir enstrümanı yansıtmasa bile, zorluk mükemmel bir şekilde tanımlanmıştır.