If you want to build something using a Raspberry Pi, you'll probably use resistors.
Like the previous Resistor Color Duo
and Resistor Color Trio
exercises, you will be translating resistor color bands to human-readable labels.
In this exercise, you are going to create a helpful program so that you don't have to remember the values of the bands. The program will take 1, 4, or 5 colors as input, and outputs the correct value, in ohms. The color bands are encoded as follows:
In resistor-color trio
you decoded the first three colors.
For instance: orange-orange-brown translated to the main value 330
.
In this exercise you will need to add tolerance to the mix.
Tolerance is the maximum amount that a value can be above or below the main value.
For example, if the last band is green, the maximum tolerance will be ±0.5%.
The tolerance band will have one of these values:
The four-band resistor is built up like this:
Band_1 | Band_2 | Band_3 | band_4 |
---|---|---|---|
Value_1 | Value_2 | Multiplier | Tolerance |
Meaning
The difference between a four and five-band resistor is that the five-band resistor has an extra band to indicate a more precise value.
Band_1 | Band_2 | Band_3 | Band_4 | band_5 |
---|---|---|---|---|
Value_1 | Value_2 | Value_3 | Multiplier | Tolerance |
Meaning
There are also one band resistors. One band resistors only have the color black with a value of 0.
This exercise is about translating the resistor band colors into a label:
"... ohms ...%"
So an input of "orange", "orange", "black", "green" should return:
"33 ohms ±0.5%"
When there are more than a thousand ohms, we say "kiloohms". That's similar to saying "kilometer" for 1000 meters, and "kilograms" for 1000 grams.
So an input of "orange", "orange", "orange", "grey" should return:
"33 kiloohms ±0.05%"
When there are more than a million ohms, we say "megaohms".
So an input of "orange", "orange", "blue", "red" should return:
"33 megaohms ±2%"
Sign up to Exercism to learn and master PowerShell with 125 exercises, and real human mentoring, all for free.