1) O documento discute os tipos de erros que podem ocorrer em cálculos numéricos realizados por computadores, incluindo erros de arredondamento, mudança de base numérica e truncamento.
2) Ao representar números reais em sistemas binários, pequenos erros de representação podem surgir e se propagar nos cálculos, comprometendo os resultados finais.
3) Diferentes tipos de erros como absoluto e relativo podem ser usados para medir a precisão dos resultados aproximados em relação aos valores ex
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
Existem diversas formas de se representar um algoritmo, neste slide estaremos falando sobre a Descritiva Narrativa onde descrevemos o passo-a-passo de um algoritmo.[Aula para curso técnico]
Caro Ledores.....
Segue um artigo, sem cunho científico, sobre ponto flutuante. O mesmo foi produzido como resultado da matéria de mestrado "Análise Matemática " do professor Erivelton Nepomuceno.
Intuitivamente “errar é humano” e quando isso acontece podemos ter consequências às vezes impensáveis sobre isso. O erro também está associado a máquinas (computadores, calculadoras entre outros). Com este trabalho busca-se fazer uma leitura do erro e suas ocorrências. Faz-se uma leitura de representação numérica do erro e trazemos alguns exemplos como parte prática do trabalho.
Leitura bastante técnica... mas como eu digo Vale a leitura!!!
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
Existem diversas formas de se representar um algoritmo, neste slide estaremos falando sobre a Descritiva Narrativa onde descrevemos o passo-a-passo de um algoritmo.[Aula para curso técnico]
Caro Ledores.....
Segue um artigo, sem cunho científico, sobre ponto flutuante. O mesmo foi produzido como resultado da matéria de mestrado "Análise Matemática " do professor Erivelton Nepomuceno.
Intuitivamente “errar é humano” e quando isso acontece podemos ter consequências às vezes impensáveis sobre isso. O erro também está associado a máquinas (computadores, calculadoras entre outros). Com este trabalho busca-se fazer uma leitura do erro e suas ocorrências. Faz-se uma leitura de representação numérica do erro e trazemos alguns exemplos como parte prática do trabalho.
Leitura bastante técnica... mas como eu digo Vale a leitura!!!
Sistemas de Numeração e Conversão de BasesLeandro Costa
Slides sobre sistemas de numeração e conversão de bases numéricas, criado para o projeto de Ensino à Distância proposta na matéria de Tópicos Avançados, no Instituto Superior de Tecnologia em Ciências da Computação - IST-RIO / FAETEC ( http://www.faetec.rj.gov.br/ist-rio )
1. ERROS COMPUTACIONAIS
Introdu¸c˜ao
O C´alculo Num´erico consiste na obten¸c˜ao de solu¸c˜oes aproximadas de problemas matem´aticos, utilizando m´etodos
num´ericos.
Com a populariza¸c˜ao dos computadores praticamente todas as atividades de Engenharia tem feito uso intensivo
dos m´etodos computacionais na resolu¸c˜ao de problemas reais, para os quais as solu¸c˜oes manuais s˜ao invi´aveis. O
uso do computador como ferramenta de trabalho de c´alculo num´erico requer o entendimento dos seus princ´ıpios de
opera¸c˜ao e de como eles interferem nos resultados obtidos. Geralmente, ´e aceito como verdade que computadores n˜ao
erram e que s˜ao os usu´arios que cometem enganos. Na realidade, o computador, como dispositivo de c´alculo num´erico,
“comete” erros devido `as suas caracter´ısticas intr´ınsecas e o papel do usu´ario ´e quantificar esses erros.
Quando realizamos c´alculos manualmente, os erros de arredondamento da calculadora s˜ao desprez´ıveis, porque
a quantidade de c´alculo que podemos operar ´e pequena. No computador, geralmente, a quantidade de opera¸c˜oes
aritm´eticas que se pode realizar ´e muito maior do que aquelas realizadas manualmente, de forma que o erro de
arredondamento do dispositivo de c´alculo se torna importante. Outro problema ´e que no c´alculo manual temos
controle da propaga¸c˜ao do erro porque, visualmente, estamos conferindo o resultado de cada opera¸c˜ao aritm´etica ao
digit´a-lo na calculadora. No computador n˜ao temos como checar cada opera¸c˜ao, tendo em vista a velocidade com que
elas s˜ao realizadas e a quantidade de c´alculos executados. Desta forma, a verifica¸c˜ao dos resultados e o controle sobre
a propaga¸c˜ao de erros em programas de computador ´e essencial para se atingir resultados consistentes e confi´aveis.
As seguintes considera¸c˜oes tem que ser levadas em conta ao se realizar c´alculos num´ericos no computador:
• A aritm´etica computacional n˜ao funciona da mesma forma que a aritm´etica que praticamos manualmente. No
c´alculo manual ´e sempre poss´ıvel monitorar os resultados intermedi´arios e ajustar a precis˜ao dos c´alculos. Na
aritm´etica computacional, cada n´umero tem uma quantidade de algarismos fixas que muitas vezes podem ser
inadequadas para o c´alculo repetitivo;
• Usualmente, o c´alculo manual ´e feito para um pequeno n´umero de opera¸c˜oes aritm´eticas, enquanto que o c´alculo
computacional pode envolver bilh˜oes de opera¸c˜oes aritm´eticas. Pequenos erros que poderiam passar desperce-
bidos no c´alculo manual, podem arruinar completamente o resultado do c´alculo computacional, por causa da
acumula¸c˜ao e propaga¸c˜ao de erros.
Erros na Fase da Modelagem
S˜ao os erros decorrentes de simplifica¸c˜oes, muitas vezes necess´arias, para que o fenˆomeno da natureza possa ser
resolvido por um modelo matem´atico.
1
2. C´alculo Num´erico 2016/2 Erros Computacionais
Erros na Fase de Resolu¸c˜ao
S˜ao erros provenientes da utiliza¸c˜ao de algum equipamento, por exemplo, um computador, para processarmos os
c´alculos necess´arios `a obten¸c˜ao de uma solu¸c˜ao para o modelo matem´atico. Tais erros ocorrem pois os equipamentos
tem capacidade limitada de armazenar os d´ıgitos significativos de valores num´ericos utilizados nas opera¸c˜oes elemen-
tares de adi¸c˜ao, multiplica¸c˜ao, subtra¸c˜ao e divis˜ao.
As leis que regem as opera¸c˜oes aritm´eticas, quando executadas em um computador, n˜ao obedecem `a mesma
estrutura dos n´umeros reais. Usualmente, representamos os n´umeros por meio de um sistema de base 10, isto ´e,
um sistema decimal. Entretanto, no computador digital um n´umero ´e representado, internamente, por meio de uma
sequˆencia de impulsos el´etricos que indicam dois estados: 0 ou 1. Chamamos a esta representa¸c˜ao de sistema de base
2 ou sistema bin´ario.
Note h´a uma intera¸c˜ao entre o usu´ario e o computador, portanto os dados de entrada s˜ao enviado ao computador
pelo usu´ario no sistema decimal, os quais s˜ao convertidos para o sistema bin´ario, e as opera¸c˜oes todas s˜ao efetuadas
neste sistema. Os resultados finais, s˜ao ent˜ao, convertidos para o sistema decimal e, ent˜ao, transmitidos ao usu´ario.
Todo este processo de convers˜ao ´e uma fonte de erros que afetam o resultado final dos c´alculos.
Erros na Mudan¸ca de Base
Dado um n´umero real, N, ´e sempre poss´ıvel represent´a-lo em qualquer base b, da seguinte forma:
Nb =
m∑
i=n
ai × bi
(1)
onde ai ∈ {0, 1, 2, 3, ..., (b − 1)}, com m e n inteiros.
Assim, a base bin´aria ´e da forma
N2 =
m∑
i=n
ai × 2i
, ai ∈ {0, 1} (2)
e a base decimal
N10 =
m∑
i=n
ai × 10i
, ai ∈ {0, 1, . . . , 9}. (3)
Exemplo 1.
a) (1011)2
b) (111, 01)2
c) (231)10
d) (231, 35)10
Assim, dado um n´umero real qualquer numa base b, podemos escrevˆe-lo em uma outra base b′
, a partir de adequa¸c˜ao
conveniente de seus coeficientes ai ∈ {0, 1, 2, 3, ..., (b − 1)} e de uma potˆencia adequada na nova base b′
.
Mudan¸ca de base bin´aria para a base decimal
Procedimento: multiplicar o d´ıgito bin´ario por uma potˆencia adequada de 2.
Exemplo 2.
a) (1011)2 = ( )10
b) (111, 011)2 = ( )10
c) (11, 01)2 = ( )10
Profa
Elisˆangela P. F. Bagatini 2
3. C´alculo Num´erico 2016/2 Erros Computacionais
Mudan¸ca de base decimal para a base bin´aria
Procedimento: deve-se aplicar um processo para a parte inteira e outra para a parte fracion´aria. Deve-se utilizar
o m´etodo das divis˜oes sucessivas, que pode ser resumido da seguinte maneira:
1. Dividir o n´umero por 2.
2. Divide-se por 2 o quociente encontrado.
3. Repetir o processo at´e que o ´ultimo quociente seja 1.
4. O n´umero bin´ario ser´a formado pela concatena¸c˜ao do ´ultimo quociente com os restos das divis˜oes lidos em sentido
inverso ao que foram obtidos.
Exemplo 3.
a) (18)10 = ( )2
b) (11)10 = ( )2
c) (25)10 = ( )2
J´a, para transformar um n´umero fracion´ario na base 10 para a base 2 utiliza-se o m´etodo das multiplica¸c˜oes
sucessivas.
1. Multiplica-se o n´umero fracion´ario por 2.
2. Do resultado do passo “1.”, a parte inteira ´e o primeiro d´ıgito bin´ario.
3. Do resultado do passo “2.”, a parte fracion´aria ´e novamente multiplicada por 2.
4. Continua-se o processo at´e que a parte fracion´aria seja nula.
a) (0, 1875)10 = ( )2
b) (0, 6)10 = ( )2
c) (13, 25)10 = ( )2
Todo o n´umero inteiro decimal pode ser representado exatamente por um n´umero inteiro bin´ario; por´em, isto n˜ao
´e verdadeiro para n´umeros fracion´arios. Mesmo fra¸c˜oes decimais comuns, tal como o n´umero decimal 0, 6, n˜ao podem
ser representadas exatamente no sistema bin´ario (0,6 ´e uma fra¸c˜ao bin´aria repetitiva com per´ıodo de 4 bits).
Na realidade, todo o n´umero decimal irracional tamb´em ser´a irracional no sistema bin´ario. No sistema bin´ario,
apenas n´umeros racionais que podem ser representados na forma p
q , no qual q ´e uma potˆencia inteira de 2, podem ser
expressos exatamente com um n´umero de bits finito.
Uma das consequˆencias do que foi descrito acima ´e que pequenos erros de representa¸c˜ao dos n´umeros decimais,
no sistema bin´ario, se propagar˜ao nos c´alculos computacionais, podendo comprometer significativamente o resultado
final.
Profa
Elisˆangela P. F. Bagatini 3
4. C´alculo Num´erico 2016/2 Erros Computacionais
Erro Relativo e Erro Absoluto
A diferen¸ca entre o valor exato e o valor aproximado no c´alculo computacional pode ser medida pelo erro absoluto ou
pelo erro relativo.
O erro absoluto EA ´e definido como
EA = |x − ¯x| (4)
e o erro relativo ER
ER =
|x − ¯x|
|x|
(5)
onde x ´e o valor verdadeiro e ¯x ´e o valor aproximado.
O relativo, normalmente ´e expresso como erro percentual, multiplicando-se o erro relativo por 100, ou seja:
erro percentual = erro percentual × 100 (6)
Erro de Arredondamento
Os erros de arredondamento s˜ao causados pela limita¸c˜ao dos dispositivos empregados no c´alculo num´erico como, por
exemplo, uma r´egua de c´alculo que possui uma limita¸c˜ao geom´etrica, uma calculadora eletrˆonica com n´umero de
d´ıgitos limitado no “display” ou mesmo um computador com o erro de representa¸c˜ao de um n´umero decimal no seu
equivalente bin´ario.
Exemplo 4. Consideremos o n´umero decimal exato 0, 110 cujo equivalente bin´ario ´e representado pela d´ızima 0, 00011001100112 .
Para um computador com tamanho de palavra de 16 bits, o n´umero decimal 0, 110 ´e armazenado como:
0, 110 = 0, 00011001100110012 = 0, 09999084410
de modo que o erro de arredondamento ´e dado por:
erro absoluto = |0, 1 − 0, 099990844| = 0, 000009155 ≈ 9 · 10−6
Erro por Estouro de Mem´oria (“Overflow” e “Underflow”)
A vari´avel num´erica real em precis˜ao simples pode conter no m´aximo 1038
e no m´ınimo 10−38
. O erro de “overflow”
ocorre quando o resultado de uma opera¸c˜ao aritm´etica excede o valor de 3, 4028235 · 1038
. Analogamente, o erro de
“underflow” ocorre para uma vari´avel real com precis˜ao inferior a 1, 1754944 · 10−38
.
A multiplica¸c˜ao e a divis˜ao podem acarretar erro de “overflow” como de “underflow”. O caso mais extremo de
“overflow” na divis˜ao acontece quando ocorre uma divis˜ao por zero, mas, geralmente, tal tentativa provoca uma
interrup¸c˜ao na execu¸c˜ao do programa com a emiss˜ao de um aviso pelo programa de “overflow”.
Erro de Truncamento
S˜ao erro provenientes da utiliza¸c˜ao de processos que deveriam ser infinitos ou muito grandes para a determina¸c˜ao de
um valor e que, por raz˜oes pr´aticas, s˜ao truncados.
Exemplo 5. Considere a expans˜ao da fun¸c˜ao exponencial em s´eries de potˆencia da forma:
ex
= 1 + x +
x2
2!
+
x3
3!
+ . . . (7)
Profa
Elisˆangela P. F. Bagatini 4
5. C´alculo Num´erico 2016/2 Erros Computacionais
Por se tratar de uma s´erie infinita, devemos escolher um n´umero de termos limitado da s´erie para que possamos
computar o valor num´erico da fun¸c˜ao ex
. Escolhemos aproximar a s´erie infinita por uma s´erie contendo trˆes termos,
ou seja:
ex
≈ 1 + x +
x2
2!
(8)
N˜ao importa a quantidade de algarismos significativos que utilizemos no c´alculo de ex
pela s´erie truncada, o
resultado ser´a sempre aproximado e, portanto, sempre ter´a um erro, chamado erro de truncamento.
Exemplo 6. Calcule o valor num´erico de e1
= e (n´umero de Euler), empregando a s´erie truncada de 2a
ordem e
calcule os erros absoluto e relativo sabendo que o valor exato do n´umero de Euler com quatro algarismo significativos
´e igual a 2, 718. (Resp.: 0, 218 e 8%)
Exerc´ıcios
Efetue as seguintes convers˜oes de base:
a) (125)10 = ( )2
b) (0, 1875)10 = ( )2
c) (51, 98)10 = ( )2
d) (11100101)2 = ( )10
c) (0, 100111)2 = ( )10
2. Encontre a representa¸c˜ao decimal (com dez casas depois da v´ırgula) da soma fracion´aria abaixo, para um compu-
tador com 10 bits de precis˜ao, ou seja, que escreva suas representa¸c˜oes bin´arias com uma matissa de 10 bits.
3
5
+
2
5
Calcule, a seguir, o valor do erro absoluto e relativo de arredondamento.
3. Utilize os 6 primeiros termos das s´eries abaixo para calcular as aproxima¸c˜oes de e1
, cos(2) e ln(1, 5). Em seguida,
determine o erro absoluto, erro relativo e erro percentual cometido nas aproxima¸c˜oes. Use o Matlab para obter o
valores exatos e aproximados. Use 5 casas ap´os a v´ırgula.
a) ex
=
∞∑
n=0
xn
n!
, ∀x
b) cos x =
∞∑
n=0
(−1)n
(2n)!
x2n
, ∀x
c) ln(1 + x) =
∞∑
n=0
(−1)n
n + 1
xn+1
, para |x| < 1
Profa
Elisˆangela P. F. Bagatini 5
6. REFERˆENCIAS BIBLIOGR´AFICAS
[1] ARENALES, Selma; DAREZZO, Artur. C´alculo num´erico: aprendizagem com apoio de software . 1 ed. S˜ao Paulo: Cengage Learning, 2008.
[2] FRANCO, Neide Bertoldi. C´alculo num´erico. 1 ed.. S˜ao Paulo: Pearson Prentice Hall, 2006.
[3] RUGGIERO, M´arcia A. Gomes; LOPES, Vera L´ucia da Rocha. C´alculo num´erico: aspectos te´oricos e computacionais . 2 ed.. S˜ao Paulo:
Pearson Education do Brasil, 1997.
[4] COELHO, Sandro, 2014. Material de Aula, C´alculo Num´erico.
6