Fortran - programa de la exponencial

 
Vista:

programa de la exponencial

Publicado por warheit (1 intervención) el 16/06/2011 06:30:18
Hola a todos.

Queria hacer un programa en fortran que me de el valor de una exponencial a traves de la serie de taylor correspondiente , la expansion en serie de taylor de la exponencial es:

e^x=1+x+x^2/fact(2)+x^3/fact(3)+........

fact=factorial de un numero.

Hice el codigo,pero no me sale lo que me muestra la calculadora,no entiendo que esta mal me ayudarian mucho si lo revisan y me corrigen.

Este es el codigo:

IMPLICIT NONE
REAL(KIND=8)::X,EXPO,I,EXPA
INTEGER::N
PRINT*,'PROBLEMA2'
PRINT*,'INGRESE X:'
READ*,X
PRINT*
PRINT*,'INGRESE N'
READ*,N
EXPO=0.0
DO I=1,N
EXPO=EXPO+X**N/FACTORIAL(N)
END DO
EXPA=EXPO+1
PRINT*,'EL VALOR DE LA EXPONENCIAL APROXIMANDO CON SERIE DE TAYLOR ES:',EXPA
CONTAINS
INTEGER FUNCTION FACTORIAL(N)
INTEGER I,N
FACTORIAL=1
DO I=1,N
FACTORIAL=I*FACTORIAL
END DO
END FUNCTION
END PROGRAM








espero recibir su ayuda..saludos,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

programa de la exponencial

Publicado por Capitan Kirk (19 intervenciones) el 16/06/2011 13:10:47
A falta de más información, parece que el fallo puede proceder del cálculo del factorial, debido a un problema de rangos. Con números enteros (que es con lo que estás calculando el factorial), y suponiendo que son enteros de 32 bits, el mayor valor positivo que puedes obtener es (2**31)-1 = 2 147 483 647. Si calculas factoriales con este tipo de datos, el mayor valor que puedes calcular será 12! = 479 001 600, pero 13! ya quedará fuera de rango (13! = 6 227 020 800), con lo que el resultado que conserva la máquina carece de sentido (pudiendo ser hasta negativo).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar