Sabe-se que se x é uma aproximação para a raiz cúbica de y, então: z=2 x+yx^23 é uma aproximação melhor. Utilize esta assertiva para escrever um programa que, dado o valor de y, 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 10^-5. 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 y usando o método iterativo dado por
z = 2x + yx^23
Devemos repetir essa iteração até que a diferença absoluta entre duas estimativas consecutivas seja menor que 10^-5. 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 x0 = y (ou x0 = 1 se quiser proteger contra valores grandes de y).

Passo 3

Dentro de um laço (por exemplo, while true), calcule a nova aproximação
z = 2x + yx^23
e verifique o critério de parada: se
|z - x| < 10^-5,
então o método convergiu e podemos sair do laço.

Passo 4

Se o critério não for satisfeito, atualize x z e volte ao início do laço para uma nova iteração.

Passo 5

Quando sair do laço, a variável z contém a aproximação desejada da raiz cúbica de y. Em um programa, basta imprimir esse valor final de z.

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

Leitura do valor de y

y = float(input())

Cálculo e saída da aproximação final

print(raiz_cubica(y))

Exercícios relacionados