Exercício 2: Sejam os seguintes números: x=0,5289, y=0,8012 e z=0,6024, e considere um sistema de ponto flutuante com mantissa de 4 dígitos e base decimal. Mostre que:
x(y+z) \neq x \times y+x \times z

Passo 1

O enunciado dá os números x=0,5289, y=0,8012 e z=0,6024 e pede para mostrar que, num sistema de ponto flutuante com mantissa de 4 dígitos na base decimal, vale
x(y+z)\neq x\times y + x\times z.
Informações relevantes que vamos usar:
  • Mantissa tem 4 dígitos significativos em base decimal (ou seja, só são guardados 4 dígitos significativos).
  • Assumo o modo de arredondamento para o mais próximo (round-to-nearest) ao reduzir para 4 dígitos; as decisões de arredondamento seguirão esse critério.
  • Sempre que uma operação produzir mais do que 4 dígitos significativos, arredondamos o resultado para 4 dígitos antes de prosseguir (como acontece em implementações de ponto flutuante quando cada operação é seguida por normalização/arredondamento).

Passo 2

Explicando como representar e arredondar (de forma prática e concreta):
  • Um número em ponto flutuante normalizado com 4 dígitos significativos base 10 tem a forma
\pm 0.d_1 d_2 d_3 d_4 \times 10^{e},
onde d_1\neq 0.
  • Arredondamento para 4 dígitos significa: observar o quinto dígito; se ele for maior ou igual a 5 arredonda-se o quarto dígito para cima, senão mantém-se.
  • Na prática, para números como 1,4036 (cinco dígitos significativos), arredondamos para 4 dígitos significativos dando 1,404 (porque o quinto dígito é 6, que força arredondamento).

Passo 3

Calcular y+z exatamente e depois arredondar para a mantissa de 4 dígitos:
y+z = 0,8012 + 0,6024 = 1,4036.
Agora arredondando 1,4036 para 4 dígitos significativos: os primeiros 4 dígitos são 1,403 e o quinto é 6, então arredonda-se para
\text{fl}(y+z)=1,404.

Passo 4

Calcular x(y+z) efetuando a multiplicação com o valor arredondado de y+z, e depois arredondar o produto:
Produto exato (usando 1,404 como soma arredondada):
x\cdot \text{fl}(y+z)=0,5289\times 1,404 = 0,7425756.
Agora arredondar esse resultado para 4 dígitos significativos: os quatro primeiros dígitos são 0,7425 e o quinto é 7, logo arredonda-se para cima, obtendo
\text{fl}\bigl(x(y+z)\bigr)=0,7426.

Passo 5

Agora calcular x\times y e arredondar o produto (cada multiplicação é seguida de arredondamento para 4 dígitos):
Produto exato:
x\cdot y = 0,5289\times 0,8012 = 0,42375468.
Arredondando para 4 dígitos significativos: os quatro primeiros dígitos são 0,4237 e o quinto é 5, portanto arredonda-se para
\text{fl}(x\cdot y)=0,4238.

Passo 6

Calcular x\times z e arredondar:
Produto exato:
x\cdot z = 0,5289\times 0,6024 = 0,31860936.
Arredondando para 4 dígitos significativos: os quatro primeiros dígitos são 0,3186 e o quinto é 0, então fica
\text{fl}(x\cdot z)=0,3186.

Passo 7

Somar os dois produtos arredondados e arredondar o resultado (se necessário):
\text{fl}(x\cdot y)+\text{fl}(x\cdot z)=0,4238+0,3186=0,7424.
Esse resultado já tem 4 dígitos significativos, então
\text{fl}\bigl(x\cdot y + x\cdot z\bigr)=0,7424.

Passo 8

Comparação final:
\text{fl}\bigl(x(y+z)\bigr)=0,7426 \qquad\text{e}\qquad \text{fl}\bigl(x\cdot y + x\cdot z\bigr)=0,7424.
Portanto, no sistema de ponto flutuante considerado houve perda de associatividade e
x(y+z)\neq x\cdot y + x\cdot z.

Resposta

x(y+z)=0,7426 \neq 0,7424 = x\times y + x\times z

Exercícios relacionados