You are on page 1of 6

CÁLCULO NUMÉRICO

PROF: Carlos Augusto Ribeiro


UNIDADE I – NOÇÕES SOBRE ERROS
1.1.INTRODUÇÃO
A resolução de qualquer problema de natureza científica envolve basicamente
duas fases:

* Modelagem:
_ Observação e compreensão do problema.
_ Construção de um modelo matemático que mais se aproxime da realidade.

* Resolução:
_ Utilização de um método exato ou um método numérico aproximado.

Erros Erros

PROBLEMA MODELO MATEMÁTICO SOLUÇÃO

Fase de modelagem Fase de resolução

Os resultados obtidos podem ser influenciados pelos seguintes fatores:

• Nível de precisão dos dados de entrada.


• Forma com que esses dados são representados no computador.
• Erros de arredondamento e truncamento.

1.1. ERROS NA FASE DE RESOLUÇÃO

1.2.1. ERROS NA MUDANÇA DE BASE

Sabemos que a base decimal é a mais utilizada atualmente. Já um computador,


opera normalmente na base 2. (sistema binário). Assim, na interação entre o usuário e o
computador os dados de entrada são enviados no sistema decimal, convertidos para o
sistema binário e as operações são efetuadas neste sistema. Finalmente os resultados são
convertidos para o sistema decimal e transmitidos ao usuário.

Dados (base 10) Dados (base 2) Operações (base 2) Resultados( base10)

Esta sequência de conversões pode gerar erros que influenciam no resultado final.

1.2.2. CONVERSÃO DE NÚMEROS NO SISTEMA DECIMAL E BINÁRIO

Página 1
a) Binário – Decimal :

No sistema decimal usamos dez símbolos de dígitos : 0, 1, 2, 3, ..., 9 (algarismos


arábicos). Assim, um inteiro como “ Quatrocentos e setenta e oito” , pode ser expresso
na forma: 4.102 + 7. 10 + 8 e é representado por 478. Em geral, sabemos que qualquer
inteiro x pode ser escrito de maneira única na forma:

x=anbn+an-1bn-1 + ... + a2b2 + a1b+a0 onde b é o número que indica a base (


inteiro maior que 1) e 0≤ai<b.

Em particular no sistema binário temos:

x=an2n+an-12n-1 + ... + a222 + a12+a0 onde ai∈ 0, 1

Exemplo: Converter o número (10111)2 para o sistema decimal.

b) Decimal – Binário:

Seja x um número inteiro escrito na base 10. Para escrevermos x na base 2, isto é,
x = (anan-1…a2a1a0)2 , devemos determinar os números inteiros an, an-1, …, a2,
a1,a0 tais que x=an2n+an-12n-1 + ... + a222 + a12+a0 com ai∈0, 1.

Observe que x = (an2n-1+an-12n-2+... +a221 + a1).2+a0 , isto é, a0 é o


resto da divisão de n por 2.

Agora, seja x1 = an2n-1+an-12n-2+... +a221 + a1 e como


x1 = (an2n-2+an-12n-3+... +a2 )2+ a1 podemos concluir que a1 é o resto da
divisão de x1 por 2. Analogamente, obtém-se os demais quocientes.

Exemplo: Expressar os números na base 2:

a) 537 b) 1968

OBSERVAÇÃO: Dado um número entre 0 e 1 no sistema decimal, como obter sua


representação binária?

Página 2
Considere como exemplo o número 0,125 e procuremos obter os dígitos binários
d1, d2, ... , di , ... tais que 0,125 = (0,d1 d2 ... di , ...)2 , isto é,
0,125 = d1.2-1 + d2.2-2 + ... di .2- i + ... com di ∈0, 1.

Multiplicando por 2, obtém-se : 0,250 = d1 + d2.2-1 + ... di .2- i+1 + ... , isto é, d1 = 0

Multiplicando novamente por 2: 0,5 = d2 + d3.2-1 + ... di .2- i+2 + ... , isto é, d2 = 0

Multiplicando por 2 : 1 = d3 + d4.2-1 + ... di .2- i+2 + ... , isto é, d3 = 1 e


d4 = d5 = ... = di = 0

Logo, 0,125 = (0,001)2

Na prática, para transformar um número fracionário na base 10 para a base 2, utiliza-se


o seguinte procedimento:

• Multiplicar o número por 2


• Do resultado anterior, a parte inteira será o primeiro dígito e a parte fracionária é
novamente multiplicada por 2.
• O processo continua até que a parte fracionária seja nula.

Exercício: Dê a representação binária dos números:

a) 0,1875 b) 0,1 c) 13, 25

1.2.3. ERRO DE REPRESENTAÇÃO

a) Sistema de ponto flutuante normalizado:

Sistema que o computador ou a calculadora usa para representar um número real.


Dizemos que um número real x está representado no sistema de ponto flutuante se for
possível escrevê-lo na forma:
x = m.bexp onde m é a mantissa do número, b ≥ 2 é a base que a máquina opera e exp
é o expoente da base. Devemos ter m = ± 0,d1 d2 ... dn com n ∈ N, 0 ≤di≤b-1 e
d1≠0

Exemplo:

Página 3
Considere uma máquina que opere no sistema de base 10, n = 3 e exp ∈ [-5, 5].
Um número real x representado nesse sistema será da forma:
x = ± (0,d1 d2 d3).10exp com d1, d2, d3 ∈ {0, 1, 2, ..., 9}, d1≠0 e exp ∈ [-5, 5].

* Menor número positivo que pode ser representado: xmin=

* Maior número positivo que pode ser representado: xmax=

Dado um número real x, várias situações podem ocorrer:

10 Caso: xmin < x < xmax

Exemplo: Seja x = 235,89 = 0,23589. 103 .

Como a máquina trabalha com 3 dígitos na mantissa, ela representará:

x= (truncamento) ou x= (arredondamento)

20 Caso: x < xmin

Exemplo: Seja x = 0,256 . 10 -7 .

Como exp < -5, x não pode ser representado nesta máquina (underflow).

30 Caso: x > xmax

Exemplo: Seja x = 0,764. 108

Como exp > 5, x também não pode ser representado nesta máquina (overflow).

Observação: Neste sistema o zero seria representado da seguinte maneira: 0,000.10-5

b) Erro Absoluto e Erro Relativo:

b.1. Erro Absoluto:

EAx=x-x onde x é o valor exato da grandeza e x o valor aproximado.

Exemplo: Como π = 3,1415926... , podemos considerar π∈ (3,14 ; 3,15). Tomando uma


aproximação π no intervalo anterior, podemos estimar que EAπ = π-π<0,01

b.2. Erro Relativo: ERx =EAxx

Página 4
Exemplo: Consideremos os valores exatos x = 568,64 , y = 8,64 e os valores
aproximados x= 568, y= 8. Temos:

EAx = ERx =

EAy = ERy =

Qual aproximação é mais precisa?

b.3. Erro no arredondamento e no truncamento na aritmética de ponto flutuante:

Exemplo: Suponhamos um sistema que opera em aritmética de ponto flutuante de 4


dígitos na base 10. Seja x = 234,57, isto é, x = 0,23457. 103:

x=

* Truncamento: EAx =

ERx =

x=

* Arredondamento: EAx =

ERx =

1.1. EXERCÍCIOS

01. Representar na base binária os seguintes números decimais:

a) 54 b) 43,75 c) 0,1217 d) 0,3

02. Converta os seguintes números binários para sua forma decimal:

a) (101101)2 b) (0,1101)2 c) (110,11)2

03. Considere um sistema que opera em aritmética de ponto flutuante de 5 dígitos na


base 10 e o número x = 347,518.

a) Como x seria representado se for adotado truncamento.Calcule o erro relativo


cometido.

b) Como x seria representado se for adotado arredondamento. Calcule o erro relativo


cometido.

04. Algumas linguagens de programação permitem que as variáveis sejam declaradas


em precisão dupla. Neste caso, esta variável será representada no sistema de aritmética
de ponto flutuante da máquina com aproximadamente o dobro de dígitos disponíveis na

Página 5
mantissa. Considere então, uma máquina que opera num sistema de aritmética de ponto
flutuante de quatro dígitos, na base 10, e com acumulador de precisão dupla.

Dados x = 0,937.104 e y = 0,1272.102, como seria representado x + y e x.y se for


adotado o arredondamento.

05. Considere uma máquina cujo sistema de ponto flutuante opera com base 10, 4
dígitos, menor expoente -5 e maior expoente 5.
a) Qual o menor e o maior número positivo representados nesta máquina?
b) Como será representado o número 73758, se for usado o arredondamento? E o
truncamento?
c) se a = 42450 e b = 3 qual o resultado de a + b?

Gabarito:

01. a) (110110)2 b) (101011,11)2 c) (0,000111110010...)2 d) (0,010011001...)2

02. a) 45 b) 0,8125 c) 6,75

03. a) x = 0,34751.103 ; ERx = 2,3.10-5 b) x = 0,34752.103 ; ERx = 5.75.10-6

04. x+y=0,9383.104 e x.y=0,1192.106

05. a) 10-6 e 99990 b) 0,7376 . 102 e 0,7375 . 102 c) 0,42450.105

Página 6

You might also like