A trombeta é um instrumento de aerofone com válvulas, geralmente afinado B♭
. O som é emitido quando o jogador vibra seus lábios para deslocar o ar dentro do instrumento. Essa vibração é adquirida ajustando a boca de uma maneira específica, chamada embocadura. Embocaduras diferentes, com lábios mais apertados ou mais frouxos, produzem arremessos diferentes.
Além disso, cada válvula na trombeta também altera o tom do instrumento. Quando pressionada, uma válvula fecha um caminho dentro da tubulação do instrumento, fazendo o ar fluir por um caminho mais longo, diminuindo assim o tom do som original. Para os propósitos deste desafio, consideraremos o padrão, B♭
trompete, no qual a primeira válvula abaixa o passo em um passo completo, a segunda abaixa o passo em um meio passo e a terceira abaixa o passo em um e um meio passo.
O desafio
Seu desafio é criar um programa ou função que, com duas entradas embouchure
e valves
determine o tom da nota que está sendo tocada.
Para os propósitos deste desafio, as notas seguirão a sequência:
B♭, B, C, C♯, D, E♭, E, F, F♯, G, G♯, A.
Regras
- A E / S pode ser obtida / fornecida em qualquer método razoável .
- Aplicam-se brechas padrão .
- Você tem permissão para usar
b
e, em#
vez de♭
e♯
se desejar. - A entrada para
valves
pode ser tomada como uma lista de válvulas pressionadas (1, 3
) ou uma lista booleana (1, 0, 1
). - Isso é código-golfe , então o código mais curto em cada idioma vence.
Casos de teste:
Valves
nesses casos de teste é fornecida como uma lista booleana, onde 0 significa deprimido e 1 significa pressionado.
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♯
Disclaimer: Ainda não sou muito músico, então peço desculpas por qualquer massacre que possa ter causado nos casos de teste. As correções são apreciadas.
F# 100
ser E não F?
C#
trompete sem pressionar nenhuma válvula. Apenas notas específicas ( B♭-F-B♭-D-F-A♭-B♭...
), as séries de overtone de B♭
. Ainda assim, mesmo que não reflita um instrumento real, o desafio está perfeitamente bem definido.