Sabe-se que se
é uma aproximação para a raiz cúbica de
, então:
é uma aproximação melhor. Utilize esta assertiva para escrever um programa que, dado o valor de
, calcule aproximações sucessivas para a raiz cúbica de y até que o valor absoluto da diferença entre duas aproximações consecutivas for menor do que
. O programa deve mostrar apenas a última aproximação calculada.
Passo 1
O enunciado pede para aproximar a raiz cúbica de um número
usando o método iterativo dado por
Devemos repetir essa iteração até que a diferença absoluta entre duas estimativas consecutivas seja menor que
. Vamos usar conhecimento de métodos numéricos (Newton) e programação básica de laços e controle de erro.
Passo 2
Comece escolhendo uma aproximação inicial. Uma escolha simples é usar
(ou
se quiser proteger contra valores grandes de
).
Passo 3
Dentro de um laço (por exemplo,
while true
), calcule a nova aproximaçãoe verifique o critério de parada: se
então o método convergiu e podemos sair do laço.
Passo 4
Se o critério não for satisfeito, atualize
e volte ao início do laço para uma nova iteração.
Passo 5
Quando sair do laço, a variável
contém a aproximação desejada da raiz cúbica de
. Em um programa, basta imprimir esse valor final de
.
Resposta
Exemplo de implementação em Python
def raiz_cubica(y):
x = y # aproximação inicial
while True:
z = (2*x + y/(x**2)) / 3
if abs(z - x) < 1e-5:
break
x = z
return z
x = y # aproximação inicial
while True:
z = (2*x + y/(x**2)) / 3
if abs(z - x) < 1e-5:
break
x = z
return z
Leitura do valor de y
y = float(input())
Cálculo e saída da aproximação final
print(raiz_cubica(y))