Para aproximar \alpha=\sqrt{1492} com duas casas decimais exatas, o seguinte algoritmo foi usado para o cálculo:
  1. f(x)=x^{*} x-1492
  2. a=38
  3. b=39
  4. \mathrm{eps}=1 \mathrm{e}-2
  5. f a=f(a)
  6. Para k=1 até 50 faça:
  7. c=(a+b) / 2
  8. Se abs (c-a)^{*} 2<e p s então interrompa o laço
  9. f c=f\text{(c)}
  10. Se f a * f c<\theta então b=c
  11. Se f a^{*} f c>0 então a=c
  12. Imprima "A raiz quadrada de 1492 é ", c
O algoritmo foi executado manualmente com o auxílio de uma calculadora de 10 algarismos e se obteve a saída:
A raiz quadrada de 1492 é 38.62890625 .
A respeito desta solução para o problema, é correto afirmar que (marque todas as que se aplicam):
a. A resposta está correta.
b. O algoritmo pára antes de atingir o limite máximo para a quantidade de iterações.
c. Falta uma instrução na linha ll.
d. Há um erro na linha 4.
e. A resposta está errada.
f. A resposta se deve à instabilidade do método escolhido.
g. Se f\text{(c)}=0, o processo estaciona.
h. O algoritmo contém um erro na linha 8.
i. A resposta se deve à propagação do erro inerente ao método utilizado.

Passo 1

O enunciado apresenta um algoritmo de bisseção para aproximar \alpha=\sqrt{1492} em duas casas decimais exatas. Definimos
f(x)=x^2-1492,
com intervalo inicial [a,b]=[38,39], tolerância \mathrm{eps}=10^{-2} e máximo de 50 iterações. A cada iteração calculamos
c=\tfrac{a+b}2,
verificamos se \lvert c-a\rvert \times 2<\mathrm{eps} para parar, e depois atualizamos o intervalo pelo sinal de f(a)\,f\text{(c)}.

Passo 2

Calculemos o valor exato aproximado
\sqrt{1492}\approx 38,6259\ldots
Arredondando para duas casas decimais, obtemos 38,63.

Passo 3

O algoritmo manualmente produzido retornou
c = 38,62890625.
Arredondando c para duas casas, dá 38,63, que coincide com o valor correto. Logo, a resposta está correta.

Passo 4

O critério de parada testa \lvert c-a\rvert\times2<\mathrm{eps}, ou seja b-a<\mathrm{eps}. Como b-a decai geometricamente, isso ocorre em poucas iterações ( \approx7) muito antes de chegar ao máximo de 50. Logo, o algoritmo pára antes de atingir o limite de iterações.

Passo 5

Note que, ao atualizar a=c (ou b=c), o código nunca redefine f(a) (nem f(b)). Sem um comando como
f(a)\leftarrow f\text{(c)}
após a linha 11, o valor de f(a) permanece o antigo e o teste de sinal fica incorreto. Portanto, falta uma instrução na linha 11.

Passo 6

Não há erro na linha 4: usar \mathrm{eps}=10^{-2} faz com que b-a<10^{-2} e garanta erro menor que \tfrac{b-a}{2}<5\times10^{-3}, o suficiente para duas casas decimais exatas. Tampouco há falha no critério da linha 8.

Resposta

(a) A resposta está correta.
(b) O algoritmo pára antes de atingir o limite máximo para a quantidade de iterações.
(c) Falta uma instrução na linha 11.

Exercícios relacionados