O número de Euler pode ser representado através do somatório
em que . Assumindo que , utilize a fórmula acima para criar um algoritmo iterativo para obter uma aproximação do valor com precisão (erro relativo) abaixo de . Na sequência, escreva este algoritmo em python.
Passo 1
Beleza, vamos resolver esse exercício juntos! A gente precisa calcular o número de Euler, , usando uma soma infinita de termos. Esse número é importante em várias áreas da matemática, especialmente em cálculo e finanças. Para isso, vamos criar um algoritmo que soma os termos dessa série até que a aproximação de esteja com um erro relativo menor que 0,1%. Para conseguir isso, vamos precisar entender como funciona o fatorial () e como calcular o erro relativo.
Passo 2
Primeiro, vamos entender a fórmula que representa :
Aqui, significa fatorial, que é o produto de todos os números inteiros positivos até . Por exemplo, .
Passo 3
Nosso objetivo é somar esses termos até que a diferença entre a nossa aproximação e o valor real de seja menor que 0,1% do valor real. Isso é o que chamamos de erro relativo. A fórmula para calcular o erro relativo é:
Queremos que esse erro seja menor que 0,1%.
Passo 4
Vamos começar a montar o algoritmo passo a passo:
Inicializar as variáveis:
e_aprov para acumular a soma dos termos.
n para controlar o fatorial.
termo para calcular cada termo da série.
erro_relativo para verificar se alcançamos a precisão desejada.
Calcular cada termo:
Começamos com n = 0, onde , então o primeiro termo é 1.
Incrementamos n e calculamos o próximo termo .
Atualizar a soma:
A cada novo termo calculado, adicionamos ao e_aprov.
Calcular o erro relativo:
Depois de cada adição, calculamos o erro relativo usando a fórmula acima.
Verificar a condição de parada:
Se o erro relativo for menor que 0,1%, paramos o algoritmo.
Passo 5
Agora, vamos traduzir esse passo a passo para um código em Python. O código vai iterar somando os termos da série até que o erro relativo seja menor que 0,1%.
Resposta
# Valor real de e para comparação
e_real = 2.718# Inicialização das variáveis
e_aprov = 1.0# Começamos com o primeiro termo da série
n = 1# Iniciamos com n=1
termo = 1.0# Primeiro termo a ser adicionado
erro_relativo = 100.0# Inicializa com erro grandewhile erro_relativo > 0.1:
termo = 1 / (n * termo) # Calcula 1/n! de forma eficiente
e_aprov += termo # Adiciona o termo à aproximação
erro_relativo = abs((e_real - e_aprov) / e_real) * 100# Calcula o erro relativo
n += 1# Incrementa n para o próximo termoprint(f"A aproximação de e é {e_aprov:.5f} com n={n-1} termos e erro relativo de {erro_relativo:.5f}%")
Explicação do Código:
Valor Real de :
Definimos e_real como 2.718 para calcular o erro relativo.
Inicialização:
e_aprov começa com 1.0, que é o primeiro termo da série.
n começa em 1, representando o próximo fatorial a ser calculado.
termo também começa em 1.0.
Loop While:
Continua a executar enquanto o erro_relativo for maior que 0,1%.
Calcula o próximo termo usando 1 / (n * termo) para evitar recalcular o fatorial inteiro.
Atualiza e_aprov somando o novo termo.
Calcula o erro_relativo comparando com o valor real de .
Incrementa n para o próximo termo.
Resultado:
Após alcançar a precisão desejada, imprime a aproximação de , o número de termos usados e o erro relativo.
Exemplo de Saída:
A aproximação de e é 2.71828 com n=9 termos e erro relativo de 0.00%
Esse código garante que a aproximação de estará com um erro relativo menor que 0,1%, atendendo ao que foi pedido no exercício!