La biblioteca en C
– Prog026
/* Prog026.cpp */
#include <stdio.h> #include <math.h>
void main()
{
double catet1,catet2,hipot;
printf(«nCálculo de la hipotenusa de un T.R.»); printf(«n===================================»); printf(«nnIntroduce el valor de un cateto: «); scanf(«%lf»,&catet1);
printf(«nIntroduce el valor del otro cateto: «); scanf(«%lf»,&catet2); hipot=sqrt(catet1*catet1+catet2*catet2); printf(«nnHIPOTENUSA: %lf»,hipot);
}
Estudio del PROG026:
- En el programa utilizamos la función sqrt, que calcula la raíz cuadrada.
- Para poder utilizar la función matemática sqrt, necesitamos “incluir” la biblioteca “C”, que contiene las funciones matemáticas. En nuestro caso es la biblioteca: math.h, por esta razón necesitamos la sentencia #include <math.h>
Nos gustaría la posibilidad de calcular 300 hipotenusas. Vamos a mejorar el programa anterior para que sea más cómodo calcularlas.
– Prog027
/* Prog027.cpp */
#include <stdio.h> #include <math.h>
void main()
{
double catet1,catet2,hipot; char pregunta[1]; pregunta[0]=’s’;
while ((pregunta[0]==’s’)||(pregunta[0]==’S’))
{
printf(«nCálculo de la hipotenusa de un T.R.»); printf(«n===================================»); printf(«nnIntroduce el valor de un cateto: «); scanf(«%lf»,&catet1);
printf(«nIntroduce el valor del otro cateto: «); scanf(«%lf»,&catet2); hipot=sqrt(catet1*catet1+catet2*catet2); printf(«nnHIPOTENUSA: %lf»,hipot);
printf(«nnnSi quieres calcular otra hipotenusa pulsa»); printf(» la tecla [s] y a continuación [Return], en caso»); printf(» contrario pulsa cualquier otra «); scanf(«%s»,pregunta);
}
}
– Prog028
/* Prog028.cpp */
#include <stdio.h> #include <math.h>
/* Programa que calcula el tipo de soluciones */ /* de una ecuación polinómica de 2º grado */
void main()
{
double a,b,c,discr;
/* a,b,c representan los coeficientes de la */
/* ecuación | */ |
/* | */ |
/* discr= es el discriminante de la ecuación*/ | |
/* discr= b*b – 4*a*c | */ |
printf(«nEscribe el coeficiente del término de 2º grado: «); scanf(«%lf»,&a);
if(a==0)
{
printf(«nEste programa sólo sirve para ecuaciones de 2º grado»);
return;
}
printf(«nEscribe el coeficiente del término de 1r. grado: «); scanf(«%lf»,&b);
printf(«nEscribe el termino independiente: «); scanf(«%lf»,&c);
discr=b*b-4*a*c;
printf(«nDiscriminante de la ecuación= %lf»,discr); if(discr==0) printf(«nnSolución Doble»); if(discr<0) printf(«nnSoluciones Imaginarias»);
if(discr>0) printf(«nnSoluciones Reales y diferentes»);
}
– Pruébalo varias veces, por ejemplo para: a=1, b=1, c=1
a=0
a=2, b=-6, c=- 20 a=1, b=4, c=4
– Prog029
/* Prog029.cpp */
#include <stdio.h> #include <math.h>
void main()
{
double A,B,C,x1,x2,Disc;
printf(«Resolución de la ecuación Ax^2+Bx+C=0 n»); printf(«nEscribe los valores de A, B y Cn»); printf(«A=»);scanf(«%lf»,&A); printf(«B=»);scanf(«%lf»,&B); printf(«C=»);scanf(«%lf»,&C);
if(A==0)
{
printf(«nError!, esto es una ecuación de 1r. grado»);
return;
}
else
{
Disc=B*B-4*A*C; if(Disc>0)
{
x1=(-B+sqrt(Disc))/(2.0*A); x2=(-B-sqrt(Disc))/(2.0*A); printf(«nSolución x1= %lf»,x1); printf(«nSolución x2= %lf»,x2);
}
else if(Disc==0)
{
x1=(-B)/(2.0*A); printf(«nSolución Doble= %lf»,x1);
}
else printf(«nError: Raices Imaginarias»);
}
}
Observa el “anidamiento” de if – else.
– Prog030
/* Prog030.cpp */
#include <stdio.h> #include <math.h>
void main()
{
double gra,rad; double pi=3.141592;
printf(» Grados Radianes Seno Coseno Tangente»); for(gra=0;gra<=270;gra=gra+15)
{
rad=pi*gra/180;
printf(«n%11lf %11lf %11lf %11lf %11lf»,gra,rad,sin(rad),cos(rad),tan(rad));
}
}
Observa:
- sin(), cos(), tan() son funciones que contiene la biblioteca math.h
- Como puedes observar las fórmulas anteriores funcionan en radianes (ydouble).
– Prog031
/* Prog031.cpp */
#include <stdio.h> #include <math.h>
void main()
{
double num; char volver[1]; volver[0]=’s’;
while ((volver[0]==’s’)||(volver[0]==’S’))
{
printf(«nEscribe un número: «); scanf(«%lf»,&num);
if (num<=0)
{
printf(«nLos logaritmos de este número no existen»); return;
}
printf(«nnnEl Logaritmo Neperiano de %lf es %lf «,num,log(num));
printf(«nEl Logaritmo Decimal de %lf es %lf «,num,log10(num));
printf(«nn¿Quieres volver a comenzar (S/N)? «); scanf(«%s»,volver);
}
}
Que quede claro que las funciones log(), log10() están en la biblioteca math.h. Es decir, cuando necesites utilizarlas deberás incluir en tu programa: #include <math.h>
Fuente: Programación en C/C++ (Manual FV) de Fermí Vilà