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à