Вы находитесь на странице: 1из 21

Matemática Computacional

Erros: Noções Básicas

Prof. Dr. A. Riker


afr@ufpa.br
Noções Básicas sobre Erros
■ Representação de Números
► Não é raro ter situações onde os resultados finais
estejam distantes do resultado esperado
► Isto pode ocorrer mesmo que todos os cálculos
estejam feitos corretamente
Noções Básicas sobre Erros
■ Representação de Números
► Tais erros podem ser causados também pela limitação
do computador em representar e operar certos números
► Exemplo: O cálculo da área A de uma circunferência de
100m de raio pode nos levar aos seguintes resultados:
a) A = 31400 m2
b) A = 31416 m2
c) A = 31415.92654 m2
► Qual a razão disso?
Noções Básicas sobre Erros
■ Representação de Números
► Como pi é um número irracional, não é possível
representá-lo com um número finito de dígitos
► Logo, um computador terá sempre um erro de
precisão ao representar um número irracional
► Porém, esse problema de precisão não ocorre
apenas com números irracionais
Noções Básicas sobre Erros
■ Representação de Números
► Existe imprecisão ao manipular números com muitos
dígitos, mesmo que sejam racionais
► Esta imprecisão depende

Da base

Do número máximo de dígitos usados na representação
► Um computador opera, geralmente, na base binária
Noções Básicas sobre Erros
■ Representação de Números
► Um número pode ter representação finita na base
decimal, porém infinita na base binária
► Exemplo: (0.125)10 = (0.00011001100110011...)2
► Isso mostra que um computador que opera no
sistema binário irá armazenar uma aproximação do
número 0.125
Noções Básicas sobre Erros
■ Representação de Números
► Ponto Fixo:

Convenciona-se um número de bytes para a parte inteira
e para a parte decimal

Ex.: Cada número é representado por 2 bytes
– Definindo 1 byte para os inteiros
– Poderíamos representar inteiros de -127 a 127
– Poderíamos representar a parte fracionária até 1/255
Noções Básicas sobre Erros
■ Representação de Números
► Ponto Flutuante:

Neste modelo, quebramos o número em:
– Mantissa
– Expoente

Exemplo com 2 bytes:
– 11 bits para mantissa
– 5 bits para expoente
– Podemos representar inteiros de -1024 a +1023
– A menor parte fracionária seria 10 -16
Noções Básicas sobre Erros
■ Aritmética de ponto flutuante
► O número real r será representado por
e
±(0. d 1 d 2 ... d t ) x B

B é a base de operação

t é o número de dígitos da mantissa

e é o expoente
Noções Básicas sobre Erros
■ Aritmética de ponto flutuante
► Exemplo

Considere uma máquina onde:
B= 10; t = 3; – 5 <= e <= 5

O menor número representado nessa máquina é:
0.100 x 10ˆ-5

O maior número é:
0.999 x 10ˆ5

Ao tentar representar um número fora do intervalo de expoente,
ocorre overflow ou underflow
Noções Básicas sobre Erros
■ Aritmética de ponto flutuante
► Em qualquer máquina, apenas um subconjunto dos reais
são representados com exatidão
► Portanto, a maioria dos números reais são representados
através de truncamento ou arredondamento
► Erro absoluto = |x – x’|, onde x é o valor exato e x’é o
valor aproximado
Noções Básicas sobre Erros
■ Aritmética de ponto flutuante
► Exemplo de truncamento

Seja B = 10; t = 4; – 1 <= e <= 3

Como ficaria a representação do número 234.57?
------------------------------------------------------------------
Noções Básicas sobre Erros
■ Aritmética de ponto flutuante
► Exemplo de truncamento

Seja B = 10; t = 4; – 1 <= e <= 3

Como ficaria a representação do número 234.57?
------------------------------------------------------------------

Como o max de dígitos é 4, ao fazer truncamento:
x=0.23457 * 10ˆ3 x=0.2345 * 10ˆ3 (truncado)

O erro absoluto de truncamento = 0.07
Noções Básicas sobre Erros
■ Aritmética de ponto flutuante
► Técnica de Arredondamento Simétrico

Se o valor do algarismo que fica na t+1-ésima casa
decimal for menor do que 5, despreza-se os algarismos
restantes após t+1

Se for maior ou igual a 5, soma-se 1 ao algarismo na t-
ésima casa decimal e desprezam-se os algarismos
restantes
Noções Básicas sobre Erros
■ Aritmética de ponto flutuante
► Exemplo de Arredondamento

Seja B = 10; t = 3; – 4<= e <=4

x = 1.25

x = 10.053

x = – 238.15

x = 2.71828

Quais os arredondamentos destes números?
Noções Básicas sobre Erros
■ Aritmética de ponto flutuante
► Exemplo de Arredondamento

Seja B = 10; t = 3; – 4<= e <=4

x = 1.25 x’= 0.125 * 10ˆ1

x = 10.053 x’= 0.101 * 10ˆ2

x = – 238.15 x’= – 0.238 * 10ˆ3

x = 2.71828 x’= 0.272 * 10ˆ1
Noções Básicas sobre Erros
■ Aritmética de ponto flutuante
► Exemplo de Arredondamento

Seja B = 10; t = 3; – 4<= e <=4

x = 1.25 x’= 0.125 * 10ˆ1

x = 10.053 x’= 0.101 * 10ˆ2

x = – 238.15 x’= – 0.238 * 10ˆ3

x = 2.71828 x’= 0.272 * 10ˆ1

Quais os erros absolutos de arredondamento?
Noções Básicas sobre Erros
■ Aritmética de ponto flutuante
► Exemplo de Arredondamento

Seja B = 10; t = 3; – 4<= e <=4

x = 1.25 ; x’= 0.125 * 10ˆ1 |x – x’| = 0

x = 10.053; x’= 0.101 * 10ˆ2 Erro |x – x’| = 0.047

x = – 238.15; x’= – 0.238 * 10ˆ3 |x – x’| = 0.15

x = 2.71828; x’= 0.272 * 10ˆ1 |x – x’| = 0.00172
Noções Básicas sobre Erros
■ Propagação de erros com ponto-flutuante
► Ao realizar uma operação aritmética, poderá ser
gerado um erro
► Exemplo: Obter (i) x + y; (ii) x * y
Dados: x = 0.937 * 10ˆ4; y = 0.1272 * 10ˆ2
B = 10; t =4

Resp. (i): Truncado: 0.9382 * 10^4; Arredondado: 0.9383 * 10 ^4

(ii): Truncado: 0.1191 * 10^6; Arredondado: 0.1192 * 10^6


Noções Básicas sobre Erros
■ Exercício 1: Represente os seguintes números
usando ponto-flutuante. Caso possível, aplique o
truncamento e o arredondamento e encontre o erro
absoluto.
■ Dados: B=10; t = 3; – 3<= e <=3
a) 235.89 c) 0.00001
b) -1282 d) 0.021
Bibliografia
■ Cap. 1

Вам также может понравиться