Efetue as seguintes operações em aritmética de ponto flutuante: considere truncamento após cada operação) com 3 dígitos de mantissa. Calcule os erros relativos e os erros absolutos de cada resposta e explique a razão de este erro ser grande. Exemplo: 4 / 5+1 / 3 valor exato =0.8+0.33333 \ldots .=1.1333333 \ldots valor aproximado =0.8+0.333=1.13 erro absoluto \mathrm{EA}=0.00333333 \ldots. erro relativo \mathrm{ER}=0.00333333 \ldots . / 1.13=0.0029490 \ldots.
a) 4 / 5+1 / 3
Passo 1
O enunciado pede que se efetue a operação em aritmética de ponto flutuante com truncamento após cada operação e mantissa com 3 dígitos, para o caso
4/5 + 1/3.
Devem ser fornecidos: o valor aproximado obtido pelo processo descrito, o erro absoluto (EA) e o erro relativo (ER) da aproximação, e uma explicação por que o erro é grande.
Informações relevantes dadas pelo enunciado:
Mantissa: 3 dígitos significativos.
Regra de arredondamento: truncamento (não arredondamento).
Truncar após cada operação (isto é, cada divisão e a soma devem ser truncadas ao formato de 3 dígitos).
Operação a calcular: 4/5+1/3.
Passo 2
Explicação das ferramentas que vamos usar (passo-a-passo didático):
Representação em ponto flutuante (base decimal, mantissa com 3 dígitos): significa que qualquer número será armazenado com só 3 dígitos significativos; por exemplo 0{,}12345 seria armazenado como 0{,}123 se usarmos truncamento.
Truncamento: cortar os dígitos além do terceiro sem fazer ajuste (ex.: 0{,}33333\ldots truncado a 3 dígitos dá 0{,}333).
Erro absoluto (EA): diferença em valor absoluto entre o valor exato e o valor aproximado,
Erro relativo (ER): conforme o exemplo do enunciado, vamos usar o denominador igual ao valor aproximado (seguindo o mesmo procedimento do enunciado), isto é
(Obs.: algumas fontes usam o valor exato no denominador; aqui seguimos o exemplo fornecido.)
Passo 3
Calcular 4/5 e representá-lo com 3 dígitos de mantissa (truncando quando necessário).
Exato:
\frac{4}{5}=0{,}8.
Com 3 dígitos de mantissa (truncamento): escrever com três dígitos significativos:
0{,}800.
(Como 0{,}8 já tem menos de 3 dígitos significativos, completamos com zeros à direita.)
Passo 4
Calcular 1/3 e representá-lo com 3 dígitos de mantissa (truncamento).
Exato:
\frac{1}{3}=0{,}333333\ldots
Truncando a 3 dígitos significativos:
\frac{1}{3}\approx 0{,}333.
Passo 5
Somar as representações truncadas e truncar o resultado (pois a regra diz truncar após cada operação).
Soma (com as representações truncadas):
0{,}800 + 0{,}333 = 1{,}133.
Agora truncamos este resultado para ter só 3 dígitos significativos. O número 1{,}133 tem quatro dígitos significativos (1,1,3,3); truncando para três dígitos obtemos:
\text{aproximação final} = 1{,}13.çã
Portanto, o valor obtido pela aritmética de ponto flutuante com mantissa de 3 dígitos e truncamento após cada operação é 1{,}13.
Passo 6
Calcular o valor exato da expressão para comparar.
Explicação por que o erro é relativamente grande (didática e intuitiva, tom de colega):
O número \tfrac{1}{3} tem representação decimal infinita periódica 0{,}33333\ldots. Com uma mantissa de só 3 dígitos e truncamento, perde-se toda a cauda infinitamente repetida; isso já insere um erro inicial de 0{,}0003333\ldots só ao representar \tfrac{1}{3}.
Além disso truncamos novamente o resultado da soma, o que elimina mais dígitos de precisão. Ou seja, o erro inicial da representação de \tfrac{1}{3} é transferido e ligeiramente modificado pela soma e pelo novo truncamento.
Truncamento é mais prejudicial que arredondamento: truncar sempre corta os dígitos menores sem compensar, tendendo a introduzir um viés negativo no erro. Com poucos dígitos (3) esse viés fica visível.
Em problemas onde um dos termos é periódico ou tem muitos dígitos, ou quando se faz truncamento a cada operação, os erros se acumulam e podem ficar “grandes” em comparação ao tamanho dos dígitos disponíveis. Aqui o erro absoluto 0{,}00333\ldots é pequeno em valor absoluto, mas corresponde a um erro relativo de cerca de 0{,}295\% (isto é, \text{ER}\approx 0{,}00295), o que pode ser relevante dependendo da precisão exigida na aplicação.
Para reduzir esse erro na prática: usar mais dígitos de mantissa, usar arredondamento em vez de truncamento, e evitar truncar após cada operação (guard digits) são medidas eficazes.