Este código escrito en C++ sirve para calcular el valor de una resistencia de 4 bandas. Convierte los colores de las bandas en valores numéricos y realiza las operaciones necesarias para obtener un resultado en Ohmios. También determina el valor de la tolerancia a partir de la cuarta banda. El código fue probado con Code::Blocks sobre Windows. 

Antes que nada, recordemos el procedimiento para obtener el valor de una resistencia:

1.- Identifica las bandas de color en la resistencia. Normalmente hay 4 bandas, aunque algunas resistencias tienen 5 o incluso 6.

2.- Anota los colores de las bandas de izquierda a derecha. La primera y segunda banda representan los primeros dígitos del valor de la resistencia, la tercera banda representa el multiplicador y la cuarta banda es la tolerancia.

3.- El valor de la resistencia se calcula multiplicando los primeros dos dígitos por el multiplicador, que se indica en la tercera banda de color. Por ejemplo, si los primeros dos dígitos son 56 y el multiplicador es 100, el valor de la resistencia es 5600 Ω.

4.- La tolerancia se indica por la cuarta banda de color y puede tener un valor de entre ±1% hasta el ±20%.

Ahora sí, pasemos al código:

#include <iostream>
#include <string>
#include <map>
#include <cmath>

using namespace std;

// Mapa de colores a valores numéricos
map<string, int> colors = {{"negro", 0}, {"marron", 1}, {"rojo", 2}, {"naranja", 3},
{"amarillo", 4}, {"verde", 5}, {"azul", 6}, {"purpura", 7},
{"gris", 8}, {"blanco", 9}};

// Mapa de colores de la banda de tolerancia a porcentajes de tolerancia
map<string, double> tolerance = {{"negro", 0.1}, {"marron", 0.01}, {"rojo", 0.02},
{"dorado", 0.05}, {"plateado", 0.1}, {"verde", 0.005}, {"azul", 0.0025},
{"purpura", 0.001}};

int main() {
// Input de cada banda de color
string color1, color2, color3, color4;
cout << "Introduce el color de la primera banda: ";
cin >> color1;
cout << "Introduce el color de la segunda banda: ";
cin >> color2;
cout << "Introduce el color de la tercera banda: ";
cin >> color3;
cout << "Introduce el color de la cuarta banda: ";
cin >> color4;

// Convertir los colores a valores numéricos
int val1 = colors[color1];
int val2 = colors[color2];
int val3 = colors[color3];

// Calcular el valor en ohmios
double value = val1 * 10 + val2;
value *= pow(10, val3);

// Calcular el margen de tolerancia
double tol = (value * tolerance[color4]) / 100;

// Mostrar el resultado
cout << "El valor en ohmios es: " << value << " ohmios ±" << tol << " ohmios" << endl;

return 0;
}
 

Descarga el archivo .CPP aquí.

2 Comentarios

Utiliza nuestro foro de electronica si tienes dudas no relacionadas con este tema.

Utiliza nuestro foro de electronica si tienes dudas no relacionadas con este tema.