Logo Studenta

Método da Iteração para Aproximação

¡Estudia con miles de materiales!

Vista previa del material en texto

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void IterMeth(float,float,int,float *);
int main()
{
 int maxit;
 float x,es,res;
 printf("\tDar el valor de x:\t");
 scanf("%f",&x);
 printf("\n\tDar el numero max de iteraciones:\t");
 scanf("%d",&maxit);
 printf("\n\tDar el error maximo:\t");
 scanf("%f",&es);
 printf("\n\t serie de MC LAURIN \n");
 printf("iteraciones |solucion |error");
 IterMeth(x,es,maxit,&res);//esta dirigido el apuntador para pasar el valor de sol
 printf("\n\n El valor de e a la %4.3f es %6.5f",x,res);
 return 0;
}
void IterMeth(float x,float es,int maxit, float*apRes)
{
 int iter=0;
 float var,sol,ea,solold;
 sol=0;
 ea=100;
 do{
 solold=sol;
 sol=sol + pow(x,iter)/fact(iter); //el factorial se calcula en otra funcion
 //el valor de sol se pas por apuntador
 printf("\n%d | %.5f | %9.5f",iter,sol,ea);
 iter++;
 if(sol != 0)
 {
 ea=fabs((sol-solold)/sol)*100;
 }
 }while(ea>= es && iter <= maxit);
 *apRes=sol;
}
int fact(int i)
{
 //esta funcion se ultiliza para calcular el factorial
 int j,fa=1;
 for(j=i; j>=1;j--)
 {
 fa=fa*j;
 }
 return fa;
}
file_0.wmf

Continuar navegando