Escolar Documentos
Profissional Documentos
Cultura Documentos
Cálculo Numérico
Belém-Pa
Conteúdo Programático
1. Resolução de problemas
2. Representação de números
3. Sistemas decimal e binário
4. Representação e conversão de números inteiros
5. Representação e conversão de números fracionários
6. Representação em ponto flutuante
7. Tipos de Erros
8. Erros absolutos e relativos
9. Erros de arredondamento
10. Erros de truncamento
Resolução de Problemas
Problema Levantamento
real de dados
Implementação
Construção do Escolha do Método Computacional
Modelo Matemático Numérico Adequado do Método
Se necessário:
Análise dos reformular o Modelo Matemático
resultados obtidos e/ou
escolher novo Método Numérico
Resolução de Problemas
Não é raro acontecer que os resultados finais estejam distantes do que se esperaria obter,
ainda que todas as fases de resolução tenham sido realizadas corretamente.
Os resultados obtidos dependem também:
da precisão dos dados de entrada;
da forma como estes dados são representados no computador; e
das operações numéricas efetuadas.
Os dados de entrada contêm uma imprecisão inerente, isto é não há como evitar que
ocorram, uma vez que representam medidas obtidas usando equipamentos específicos ou
podem ser dados resultantes de pesquisas e levantamentos.
Representação de Números
Resultados Obtidos
Máquina S para xi = 0,5 S para xi = 0,11
Calculadora 15000 3300
Computador 15000 3299,99691
Como justificar a diferença entre os resultados obtidos pela calculadora e pelo computador
para 𝑥𝑖 = 0,11?
Representação de Números
Na representação:
Posição 2 Posição 1 Posição 0 (direita)
Para 𝛽 > 10, devem ser acrescentados ao conjunto de símbolos numéricos outros símbolos
básicos, até que se atinja o total de 𝛽 símbolos constituintes da base do sistema.
Por exemplo, o sistema hexadecimal é formado pelos seguintes símbolos:
0,1,2,3,4,5,6,7,8,9, 𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐹 .
Conversão de Outras Bases (Binário) para Decimal – Inteiro
Somar o valor do dígito de cada temo (termos das potências de base 2).
11011 𝑑𝑜𝑖𝑠 = 1 × 24 + 1 × 23 + 0 × 22 + 1 × 21 + 1 × 20
= 16 + 8 + 0 + 2 + 1 = 27 𝑑𝑒𝑧
NumDec = 0;
for i = 1 : length(NumBin)
NumDec = NumDec + str2num(NumBin(i)) * 2^(length(NumBin) - i);
end
disp(['O número binário ', NumBin, ' na base decimal é ', num2str(NumDec)]);
Conversão de Binário para Decimal – Inteiro
bin2dec(‘número binário’)
Conversão de Binário para Decimal – Inteiro
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/* Programa que converte um número na base binária para a base decimal */
int bin_to_dec(long long numbin){
int total = 0;
int expoente = 0;
while(numbin > 0) {
total = total + (numbin % 10)*pow(2,expoente);
numbin = numbin / 10;
expoente++;
}
return total;
}
int main(int argc, char** argv) {
long long bin; int dec;
printf("Entre com um número na base binária (0's e 1's): "); scanf("%lld", &bin);
dec = bin_to_dec(bin);
printf("O número binário %lld na base decimal é = %d\n", bin, dec);
return (EXIT_SUCCESS);
}
Conversão de Binário para Decimal – Inteiro
Conversão de Decimal para Outras Bases (Binário) – Inteiro
D d D: dividendo
Método das Divisões Sucessivas r q d: divisor
q: quociente
r: resto
- Dividir sucessivamente o número decimal (D) pela base desejada (d).
- Os dígitos binários são os Restos (r) gerados em cada divisão em ordem inversa.
- Parar quando a parte inteira do Quociente (q) for zero.
O primeiro resto gerado é o bit menos significativo (LSB) do número binário (menor peso)
O último resto gerado é o bit mais significativo (MSB) do número binário (maior peso).
Conversão de Decimal para Binário – Inteiro
Menos Significativo
Mais Significativo
Menos Significativo 0 6 2
6 0
0 3 2
3 0
1 1 2
1 1
1 0
0 1
Mais Significativo
n=1;
a=input('Entre com um número na base decimal => ');
NumDec=a; % variável auxiliar para exibição
while (a>0)
b(n)= rem(a,2);
a=floor(a/2);
n=n+1;
end
b=fliplr(b);
disp(['O número decimal ', num2str(NumDec), ' na base binária é: ', num2str(b)]);
Conversão de Decimal para Binário – Inteiro
Exemplo, o número 0,101101 𝑑𝑜𝑖𝑠 tem sua conversão para a base 10 através dos
seguintes cálculos:
1101,11 = 13,75
Conversão de Número Binário com Parte Inteira e Fracionária para Decimal
Representação em Ponto Flutuante
A computação numérica atual se vale de uma representação em que cada número apresenta
uma quantidade fixa e finita de dígitos.
Portanto, muitos cálculos são realizados com apenas representações aproximadas dos
números que as originaram.
Na notação científica a representação decimal se faz pela normalização do número por um
fator de escala.
Exemplos: 𝑟1 = 0,00000493 = 4,93 × 10−6 e 𝑟2 = 78920,65 = 7,892065 × 104 .
O expoente da representação indica a ordem de grandeza do número, desde que a parte
inteira seja inferior a 5 (inferior a metade da base). Caso contrário, a ordem de grandeza do
número é acrescida de uma unidade.
Assim, as ordens de grandeza de 𝑟1 e 𝑟2 são respectivamente 10−6 e 105 .
A representação em ponto (ou vírgula) flutuante se assemelha à notação científica.
Representação em Ponto Flutuante
A representação em ponto (vírgula) flutuante de um número real x tem a forma:
𝐹(𝑏, 𝑡, 𝑙, 𝑢)
NaN 0 NaN
−∞ +∞
-u l u
Se |𝑥|<m
Seja 𝑥 = 2,223𝑥10−6 → 𝑈𝑁𝐷𝐸𝑅𝐹𝐿𝑂𝑊 (𝑒𝑟𝑟𝑜 𝑐𝑜𝑚𝑝𝑢𝑡𝑎𝑐𝑖𝑛𝑎𝑙)
Se 𝑥 > 𝑀,
Seja 𝑥 = 9,732𝑥108 → 𝑂𝑉𝐸𝑅𝐹𝐿𝑂𝑊 (𝑒𝑟𝑟𝑜 𝑐𝑜𝑚𝑝𝑢𝑡𝑎𝑐𝑖𝑜𝑛𝑎𝑙)
Observações:
(1) Zero Menor expoente: 0,000x10-5
(2) Precisão dupla (dobro de dígitos)
- Aumenta precisão
- Diminui tempo de processamento
Representação em Ponto Flutuante
Exemplo: F(10,2,-5,5), Somar 4,32 e 0,064
Valor [cm]
Erro Absoluto
Item Real Aproximado [cm]
(verdadeiro) (Medido)
Ponte 10000 9999 1
Prego 10 9 1
Tamanho do erro absoluto é mais grave quando o valor real for pequeno.
Erro absoluto não leva em conta a ordem de grandeza do valor (magnitude do valor) que
está sendo examinado.
Erros absolutos e relativos
Erro Relativo e Erro Relativo Percentual é definido como:
Vantagem do erro relativo sobre o erro absoluto: independência da magnitude dos valores.
Erros de Truncamento
+∞ 1
Exemplo: Número de Euler (e=2,7182...) pode ser obtido pela série infinita 𝑘=0 𝑘!
Termos 1 2 3 4 5 6 7 8
e 1 2 2,5000 2,6667 2,7083 2,7167 2,7181 2,7182
Erro % 100 50 20 6,2 1,5 0,3 0,05 0,003
Para analisar as causas e consequências desse tipo de erro precisa-se conhecer aritmética de
ponto flutuante.
Erros de Arredondamento
Exemplos:
0,3|452342 (1 casa decimal)
0,34|52342 (2 casas decimais)
0,345|2342 (3 casas decimais)
0,3452|342 (4 casas decimais)
0,34523|42 (5 casas decimais)
Erros de Arredondamento
Observação:
Em software como o Excel se o algarismo seguinte é 5, o algarismo anterior é adicionado de
uma unidade.
Exercícios