#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
//#define ma 10
//#define ra 24
//#define mb 10
//#define rb 24
/***********************************************************
* Prototipo de funciones *
***********************************************************/
void obteserie(void);
int main()
{
obteserie();
return 0;
}
//Recordatorio:
//rc resistencia calcular, ctr counter, r1 resistencia uno,
//valor, multiplo, r2 resistencia dos, rs resistencia serie,
//porcentaje, e, rt resistencia paralelo.
void obteserie(void)
{
int ma, ra, mb, rb;
int ctr;
float valor, multiplo, rc;
float r1, r2, rs, e, rt;
const porcentaje = 25;
printf("\nIntroduzca el valor deseado en Ohms\n");
scanf("%f", &rc);
clrscr();
ctr=0;
for(ma=0; ma<10; ma++)
{
for(ra=0; ra<24; ra++)
{
for(mb=0; mb<10; mb++)
{
for(rb=0; rb<24; rb++)
{
//// <==========Aquí r1 y r2 me da error de indirección. es como un arreglo o algo así.
r1(valor[ra]*multiplo[ma]);
r2(valor[rb]*multiplo[mb]);
rs=r1+r2; // Resistencia en serie
if(r1<=r2&&rc<=rs+(rs*porcentaje/100)&&rc>=
rs-(rs*porcentaje/100))
{
if((rc!=r1) && (rc!=r2))
{
e=((rs-rc)/rc)*100;
if(e<=porcentaje)
{
printf("%.3f + %.3f =
%.4f %.4f %% error.\n",
r1, r2, rs, e);
ctr++;
}
}
}
rt=((r1 * r2)/(r1 + r2)); // Resistencia en
paralelo
if(r1<=r2&&rc<=rt+(rt*porcentaje/100)&&rc>=
rt-(rt*porcentaje/100))
{
if((rc != r1) && (rc != r2))
{
e=((rt - rc)/rc)*100;
if(e<=porcentaje)
{
printf("%.3f || %.3f =
%.4f %.4f %% error\n",
r1, r2, rt, e);
ctr++;
}
}
}
if(ctr >= 24)
{
printf("\nMAS VALORES -");
ctr=0;
getch();
}
}
}
}
}
getch();
clrscr();
};
Se entiende la imposibilidad de fabricar resistencias de todos los valores posibles, en lugar de ésto se recurre a una serie de valores predeterminados definidos por la Asociación de Industrias de Electrónica (EIA por sus siglas en inglés), los rangos van desde E6 hasta E96, sin embargo el más utilizado es el E24, cuyos valores básicos son: 1.0, 1.1, 1.2, 1.3, 1.5, 1.6, 1.8, 2.0, 2.2, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.3, 4.7, 5.1, 5.6, 6.2, 6.8, 7.5, 8.2, y 9.1. Los diferentes valores de resistencia se obtienen de submúltiplos y múltiplos de éstos valores. (24 valores.)
La última opción de cálculo de nuestro programa nos permite obtener un valor de resistencia especificado utilizando una combinación de dos resistencias del rango E24 en serie y paralelo con una precisión menor de 0.25%.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define maxir 10
#define raxir 24
/***********************************************************
* Prototipo de funciones *
***********************************************************/
void obteserie(void);
int main()
{
obteserie();
return 0;
}
void obteserie(void)
{
int ma, ra, mb, rb;
int ctr;
float multiplo[maxir];
float valor[raxir];
float r1, r2, rs, e, rt, rc;
const porcentaje = 25;
printf("\nIntroduzca el valor deseado en Ohms\n");
scanf("%f", &rc);
clrscr();
ctr=0;
for(ma=0; ma<10; ma++)
{
for(ra=0; ra<24; ra++)
{
for(mb=0; mb<10; mb++)
{
for(rb=0; rb<24; rb++)
{
r1=(valor[ra]*multiplo[ma]);
r2=(valor[rb]*multiplo[mb]);
rs=r1+r2; // Resistencia en serie
if(r1<=r2&&rc<=rs+(rs*porcentaje/100)&&rc>=
rs-(rs*porcentaje/100))
..............Igual a lo del post de arriba.
Estoy seguro que falta algo más porque no veo los printf del resultado
del cálculo
ma4826@maamd:/tmp$ gcc -o ohmwatt ohmwatt.c -lm
ma4826@maamd:/tmp$ ./ohmwatt
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Seleccione una opcion:
Salir del programa...........................................0
Ley de Ohm: Calcular voltaje (E).............................1
Ley de Ohm: Calcular corriente (I)...........................2
Ley de Ohm: Calcular resistencia (R).........................3
Potencia (P) en terminos de voltaje y corriente..............4
Potencia (P) en terminos de corriente y resistencia..........5
Potencia (P) en terminos de voltaje y resistencia............6
Voltaje (E) en terminos de potencia y corriente..............7
Voltaje (E) en terminos de potencia y resistencia............8
Corriente (I) en terminos de potencia y voltaje..............9
Corriente (I) en terminos de potencia y resistencia.........10
Resistencia (R) en terminos de potencia y corriente.........11
Resistencia (R) en terminos de voltaje y potencia...........12
Resistencia (R) en serie y paralelo.........................13
Resistencia (R) exacta con dos resistores de rango E24......14
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
14
Introduzca el valor deseado en Ohms
455
24.000 + 430.000 = 454.0000 -0.2198 % error.
470.000 || 15000.000 = 455.7207 0.1584 % error
510.000 || 4300.000 = 455.9252 0.2033 % error
560.000 || 2400.000 = 454.0540 -0.2079 % error
910.000 || 910.000 = 455.0000 0.0000 % error
Presione cualquier tecla para regresar al menu