A bússola de 32 pontos é ... interessante, para dizer o mínimo.
Por Denelson83 (Trabalho próprio) [ GFDL ou CC-BY-SA-3.0 ], via Wikimedia Commons
Seu desafio é tomar uma medida de grau e convertê-la em uma direção na bússola de 32 pontos.
Cada direção tem 11,25 (360/32) graus a mais que a anterior. Por exemplo, N (norte) é 0 graus, NbE (norte a leste) é 11,25 graus, NNE (norte-nordeste) é 22,5 graus, etc.
Quanto a como você deve obter as instruções,
0 graus é N, 90 graus é E, 180 graus é S e 270 graus é W.
- Essas são chamadas direções cardinais.
Os pontos intermediários entre as direções cardinais são simplesmente as direções cardinais entre as concatenadas. N ou S sempre são os primeiros e W ou E são os segundos.
- Essas são chamadas direções ordinais.
Os pontos intermediários entre as direções cardinal e ordinal são as direções entre as quais são concatenadas, novamente, com um "-" no meio. As direções cardeais vão primeiro, segundo ordinal.
- Estes são chamados de direções intercardinais secundárias.
Os pontos intermediários entre as direções secundário-intercardinal e outras direções são as outras direções "por" a direção cardinal mais próxima (diferente da diretamente ao lado delas, é claro).
- Não faço ideia do que se chama: P
Se toda essa explicação machuca seu cérebro tanto quanto o meu, você pode consultar este gráfico:
1 North N
2 North by east NbE
3 North-northeast NNE
4 Northeast by north NEbN
5 Northeast NE
6 Northeast by east NEbE
7 East-northeast ENE
8 East by north EbN
9 East E
10 East by south EbS
11 East-southeast ESE
12 Southeast by east SEbE
13 Southeast SE
14 Southeast by south SEbS
15 South-southeast SSE
16 South by east SbE
17 South S
18 South by west SbW
19 South-southwest SSW
20 Southwest by south SWbS
21 Southwest SW
22 Southwest by west SWbW
23 West-southwest WSW
24 West by south WbS
25 West W
26 West by north WbN
27 West-northwest WNW
28 Northwest by west NWbW
29 Northwest NW
30 Northwest by north NWbN
31 North-northwest NNW
32 North by west NbW
Aqui está um gráfico mais detalhado e, possivelmente, uma melhor explicação dos pontos da bússola.
Seu desafio é obter entradas em graus e exibir o nome completo da direção da bússola a que corresponde, juntamente com sua abreviação.
Casos de teste:
Input Output
0 North N
23.97 North-northeast NNE
33.7 Northeast by north NEbN
73.12 East-northeast ENE
73.13 East by north EbN
219 Southwest by south SWbS
275 West W
276 West by north WbN
287 West-northwest WNW
Toda capitalização deve ser preservada, como nos casos de teste. O número máximo de casas decimais é 2. Todos os números de entrada serão maiores ou iguais a 0 e menores que 360. Se houver um ponto decimal, haverá dígitos nos dois lados (você não precisa manipular .1
ou 1.
).
Isso é código-golfe , então o código mais curto em bytes vence.