
# Problema 3:

# Dado x (no. real) e epsilon (no. real bem pequeno),
# calcular uma aproximacao para exp(x):
# exp (x) = 1 + x + x^2/2! + x^3/3! + ...
#
# Fazer a somato'ria enquanto a soma esta' mudando.
# Ou seja, quando nao fizer mais diferenca, parar a iteracao
#
# Calcular o valor de exp(x) usando a funcao exp() do modulo math.
# Verificar se a aproximacao obtida e' boa. 

import math

def main():
    x = float(input("Digite o valor de x (real positivo): "))
    termo = 1.0
    soma = 0.0
    k = 1
    while soma != soma + termo:
        soma = soma + termo
        termo = termo * x / k
        k = k + 1 
        print("soma parcial = ", soma)
    print("valor aproximado de exp(x) = ", soma)
    print("Valor de exp(x) usando a funcao exp() do modulo math: ", end='')
    print(math.exp(x))
# -----
main() 
