Se queres construir algo com um Raspberry Pi, provavelmente vais usar resistências.
Tal como nos exercícios anteriores Resistor Color Duo e Resistor Color Trio, vais traduzir as faixas de cor das resistências em etiquetas legíveis para humanos.
Neste exercício vais criar um programa útil, para não teres de te lembrar dos valores das bandas. O programa recebe 1, 4 ou 5 cores como valores de entrada e devolve o valor correto, em ohms. As bandas de cor estão codificadas da seguinte forma:
Em resistor-color trio descodificaste as três primeiras cores.
Por exemplo: orange-orange-brown correspondia ao valor principal 330.
Neste exercício vais ter de acrescentar a tolerância à mistura.
A tolerância é a quantidade máxima que um valor pode estar acima ou abaixo do valor principal.
Por exemplo, se a última banda for green, a tolerância máxima será ±0.5%.
A banda de tolerância terá um destes valores:
A resistência de quatro bandas é composta assim:
| Banda_1 | Banda_2 | Banda_3 | banda_4 |
|---|---|---|---|
| Valor_1 | Valor_2 | Multiplicador | Tolerância |
Ou seja:
A diferença entre uma resistência de quatro e de cinco bandas é que a de cinco bandas tem uma banda extra para indicar um valor mais preciso.
| Banda_1 | Banda_2 | Banda_3 | Banda_4 | banda_5 |
|---|---|---|---|---|
| Valor_1 | Valor_2 | Valor_3 | Multiplicador | Tolerância |
Ou seja:
Também existem resistências de uma banda. As resistências de uma banda têm apenas a cor black, com um valor de 0.
Este exercício consiste em traduzir as cores das bandas da resistência para uma etiqueta:
"... ohms ...%"
Assim, se os valores de entrada forem "orange", "orange", "black, green", o programa deve devolver:
"33 ohms ±0.5%"
Quando há mais de mil ohms, dizemos "kiloohms". É semelhante a dizer "quilómetro" para 1000 metros e "quilograma" para 1000 gramas.
Assim, se os valores de entrada forem "orange", "orange", "orange", grey, o programa deve devolver:
"33 kiloohms ±0.05%"
Quando há mais de um milhão de ohms, dizemos "megaohms".
Assim, se os valores de entrada forem "orange", "orange", "orange", "red", o programa deve devolver:
"33 megaohms ±2%"
Inscreve-te no Exercism para aprenderes e dominares Crystal com 26 conceitos142 exercícios, e mentoria humana real, tudo grátis.