/* Función que toma como parámetro
la función a integrar */
/* La función toma la forma de
un apuntador, y los límites de integración */
#include <math.h>
main()
{
double a,b,s;
double f(double); /* funcion prototipo */
double integral( double a, double b, double (*pf)(double x));
/* prototipo función más completo para mejor claridad
definiendo los límites de integración a y b */
a=(b=0)+1;
/* integrando diferentes funciones */
s=integral(a,b,sin);
....
s=integral(a,b,cos);
....
s=integral(a,2*b,f);
....
}
double integral(double a, double b, double (*pf)(double x));
{
int n=100;
int i;
double s,dx;
for(i=1, s=((*pf)(a) + (*pf)(b))/2, dx=(b-a)/n;
i < n-1;
++i)
s += (*pf)(a+(i*dx));
}
double f(double x)
{
return exp(sin(x) + cos(x));
}
|
|
|