serie de taylor

nonobravo
28 de Abril del 2010
Hola!

necesito hacer un programa para calcular S con la siguiente serie:

S=1+x+((x^2)/2!)+((x^3)/3!)+((x^4)/4!)+...

El valor de S se calculara hasta que†(x^i)/i! sea menor que 0.0001.
Tambien tengo que mostrar en pantalla el valor que devuelve la funcion exp() de la libreria math.h pasandole X para comparar ambos valores.

Como hago el programa!!:S
gracias de antemanoo!

avatardefuego
28 de Abril del 2010
hola..
bueno..la vdd no se mucho de matematicas..
asi que interprete lo que me pusiste como pude..

resumiendo.
si ingreso 4, sacara el resultado hasta la potencia de 3
si ingreso 9, llegara hasta la potencia de 8

bueno
aca te dejo la solucion.
espero sea la correcta y te sirva..

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

#include <math.h>

enum eOpt { oERROR=-1, oINICIO, oTAYLOR, oSALIR, oTOTAL };

char stmp[100];

void FuncionTaylor();


int main()
{
int opt = 0;

do
{
system( "cls" );

printf( "========== MENU ==========\n" );
printf( "%d - Serie de Taylor\n", oTAYLOR );
printf( "%d - Salir\n", oSALIR );
printf( "**\n" );
printf( "Ingresa tu opcion : " ); gets( stmp );
opt = atoi(stmp);

if ( opt <= oINICIO || opt >= oTOTAL ) //verificando opciones validas
opt = oERROR;

switch ( opt )
{
case oTAYLOR :
FuncionTaylor();
break;
case oERROR :
printf( "%&#$#% ingresa una de las opciones correctas..\n\n" );
printf( "***PRESIONA <ENTER> PARA CONTINUAR" ); getchar();
break;
};
}
while ( opt != oSALIR );

return 0;
}

void FuncionTaylor()
{
int mynum = 0;
double ans = 0;

//S=1+x+((x^2)/2!)+((x^3)/3!)+((x^4)/4!)+...

system( "cls" );
printf( "========== Serie de Taylor ==========\n" );
printf( "Ingresa un numero : " ); gets( stmp );
mynum = atoi(stmp);

if ( mynum <= 0 )
{
printf( " ERROR!!..\n");
printf( "%s no es ha sido valido..\n\n");
printf( "***PRESIONA <ENTER> PARA CONTINUAR" ); getchar();

return;
}

double mydoble = 0;
double myfact = 1;

ans = 1 + mynum;
for ( int i=2; i<mynum; i++ )
{
mydoble = pow( (double) mynum, (double)i );
myfact = 1;
for ( int j=1; j<=i; j++ )
myfact *= j;

ans = ans + ( mydoble / myfact );
}

printf( "**\n" );
printf( "El resultado es : %0.4f\n\n", ans );
printf( "***PRESIONA <ENTER> PARA CONTINUAR" ); getchar();
}

esteban jimenez
28 de Noviembre del 2010
#include
#include
#include

using namespace std;

int main(int argc, char *argv[])
{

double long n;
double long sum;
double long division;
double long n1;
double long i;
double long b=0;
double long x;

n=0;
sum=0;
cin>>x;
division=1;
while (~(division1) {
b=b*(n1-1);
n1=n1-1;
i=i-1;
}
division=pow( x, n)/b;
cout