Para aproximar \alpha=\sqrt{1964} com duas casas decimais exatas, o seguinte algoritmo foi usado para o cálculo:
  1. f(x)=x^{*} x-1964
  2. a=44
  3. b=45
  4. e p s=5 e-3
  5. f a=f(a)
  6. Para k=1 até 50 faça:
  7. c=(a+b) / 2
  8. Se \operatorname{abs}(c-a)<\max (1, \operatorname{abs}\text{(c)})^{*} eps então interrompa o laço
  9. f c=f\text{(c)}
  10. Se f a^{*} f c<0 então b=c
  11. Se f a^{*} f c>0 então a=c
  12. Imprima "A raiz quadrada de 1964 é ", 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 1964 é 44.375
A respeito desta solução para o problema, é correto afirmar que (marque todas as que se aplicam):
a. A resposta está correta.
b. A resposta estaria correta se um computador fosse utilizado ao invés de uma calculadora.
c. A resposta se deve à propagação do erro inerente ao método utilizado.
d. Há um erro na linha 4.
e. O algoritmo contém um erro na linha 8.
f. O algoritmo pára antes do esperado.
g. Falta uma instrução na linha ll.
h. A resposta está errada.
i. Nas condições do enunciado, o método iterativo escolhido é divergente.

Passo 1

O enunciado pede para aproximar \alpha = \sqrt{1964} com duas casas decimais exatas usando um método de bisseção. O algoritmo define
\displaystyle f(x)=x^2-1964,
intervalo inicial [a,b]=[44,45] e tolerância \text{eps}=5\times10^{-3}. Em cada iteração calcula-se
c=\frac{a+b}{2},
verifica-se um critério de parada na linha 8 e atualiza-se o intervalo conforme o sinal de f(a)\cdot f\text{(c)}.

Passo 2

O valor exato (com alta precisão) de \sqrt{1964} é cerca de 44,3176. A saída dada pelo algoritmo foi c=44,375, que está fora da faixa \pm0,005 em torno do verdadeiro valor, portanto a resposta está incorreta.

Passo 3

O critério de parada da linha 8 está escrito como
\lvert c - a\rvert < \max(1,\lvert c\rvert)\times \text{eps},
isto é, usa tolerância relativa em vez de tolerância absoluta para garantir duas casas decimais. Isso é um erro de formulação do critério — deveria comparar \lvert c-a\rvert diretamente com \text{eps}=5\times10^{-3}. Assim há um erro na linha 8.

Passo 4

Devido ao critério incorreto, o algoritmo interrompe-se prematuramente, antes de atingir a precisão necessária de 0,005 em torno de \sqrt{1964}. Logo, o algoritmo para antes do esperado.

Passo 5

Quando na linha 11 se faz a=c, o valor de f(a) não é atualizado, mas deveria ser recopiado de f\text{(c)} para manter as próximas iterações corretas. Falta, portanto, uma instrução para atribuir f(a)\gets f\text{(c)}.

Passo 6

Como visto em

Resposta

(e) O algoritmo contém um erro na linha 8.
(f) O algoritmo pára antes do esperado.
(g) Falta uma instrução na linha 11.
(h) A resposta está errada.

Exercícios relacionados