Você está na página 1de 47

CI202 – MÉTODOS NUMÉRICOS

Universidade Federal do Paraná


Departamento de Informática

Capítulo 1 – Representação de números reais

Ensino Remoto Emergencial

1
1. REPRESENTAÇÃO DE NÚMEROS REAIS

§ 1.1. Erros: Modelagem X Representação


§ 1.2. Representação: Números Reais
§ 1.3. Sistema Decimal e Binário
§ 1.4. Aritmética de Ponto Flutuante

2
CÁLCULO NUMÉRICO X MÉTODO NUMÉRICO

Cálculo Numérico Método Numérico

3
CÁLCULO NUMÉRICO X MÉTODO NUMÉRICO

§ Cálculo Numérico:
§ Obtenção da solução de um problema pela aplicação de um método
numérico. A solução é caracterizada por um conjunto de números exatos
ou aproximados.

§ Método Numérico:
§ Algoritmo composto por um número finito de operações.

4
ERRO: MODELAGEM X REPRESENTAÇÃO

Problema Físico

Modelagem

Modelo Matemático

Resolução

Solução

5
ERRO: MODELAGEM X REPRESENTAÇÃO

§ Modelagem:
§ Fase de obtenção do modelo matemático que descreve o
comportamento do sistema.

§ Resolução:
§ Fase de obtenção da solução através da aplicação de métodos
numéricos.

6
ERROS DE MODELAGEM

§ Pode não haver uma descrição precisa na representação de um


fenômeno do mundo físico em um modelo matemático.

§ Sendo assim é necessário realizar simplificações do mundo


físico para obter o modelo matemático.

7
ERROS DE MODELAGEM

§ Exemplo simples: Estudo do movimento de um corpo sujeito à


uma aceleração constante.

!
d = d0 + v0t + at2 Eq.(1)
"

§ d = distância percorrida
§ d0 = distância inicial
§ v0 = velocidade inicial
§ t = tempo
§ a = aceleração

8
ERROS DE MODELAGEM

§ Solução simples: Podemos usar a Eq.(1) para calcular a altura


de um edifício, usando uma bolinha de metal e um cronômetro.
Considerando que o cronômetro marcou um tempo de 3s:

!
d = d0 + v0t + at2
"

!
d = 0 + (0x3) + (" x 9,8 x 32) = 44,1

§ O resultado calculado é confiável? Por que?

9
ERROS DE MODELAGEM

§ Fatores não considerados na Eq.(1):


§ Resistência do ar
§ Velocidade do vento

§ Sobre a precisão dos dados de entrada:


§ Se o tempo fosse 3,5s d = 60,025m
§ Variação de 16,7% no cronômetro ocasionou variação de 36% na altura!

10
ERROS DE REPRESENTAÇÃO

§ Para resolução de modelos matemáticos, muitas vezes é


necessária a utilização de instrumentos de cálculo.

§ Estes instrumentos necessitam de aproximações no seu


funcionamento.

11
ERROS DE REPRESENTAÇÃO

§ Essas aproximações podem gerar erros, por exemplo:


§ Conversão de bases
§ Erros de arredondamento
§ Erros de truncamento

§ OBS: Detalhes sobre erros de representação serão apresentados


posteriormente.

12
1.2. REPRESENTAÇÃO: NÚMEROS REAIS

§ Números
§ Complexos ( 2 + 3 −1)
§ Reais
§ Irracionais ( 𝜋; 2 )
§ Racionais
§ Inteiros
§ Fracionários
§ Ordinários ( 32/7 ; 1/3 )
§ Decimais ( -3,15 ; 0,33... )

13
1.2. REPRESENTAÇÃO: NÚMEROS REAIS

§ Algumas propriedades básicas da aritmética real não valem


quando executadas no computador.

§ Matemática: Alguns números são representados por infinitos


dígitos. Exemplos: ( 2 ; 𝜋; 1/3)

§ Computador: Possui palavra de memória finita, bem como a


própria memória.

14
O NÚMERO 𝝅

§ O número 𝝅 é realmente intrigante e encontrado em várias


situações na natureza.

§ Sugestão: Pesquisar sobre o número 𝝅, começando com o dia


do Pi https://www.piday.org/

§ Curiosidade Nerd: Num episódio (Wolf in the Fold) da série de


TV Star Trek, original (1967), o comandante Spock consegue
libertar a nave Enterprise do domínio de um computador maligno,
ordenando a ele que calcule o valor de 𝝅 até o seu último dígito,
o que sabemos ser impossível.

15
O NÚMERO 𝝅

§ Exemplo: Um cavalo está preso num cercado de pastagem, cuja


forma é um quadrado, com lados medindo 50m. Ele está
amarrado a uma corda de 40m, que está fixada num dos cantos
do quadrado. Qual é a área da região do cercado que o cavalo
não conseguirá alcançar, porque está amarrado?

§ (a) A = 1.244 m2
§ (b) A = 1.243,4 m2
§ (c) A = 1.243,3632 m2

16
O NÚMERO 𝝅

§ Cálculo da área do quadrado:


§ A1 = 50 × 50 = 2.500 m2

§ Cálculo da área de ¼ do círculo, considerando 𝝅 = 3,14:


§ A2 = ((3,14) x (40)2) ÷ 4 = 5.024 ÷ 4 = 1.256 m2

§ A área procurada é a área do quadrado menos a área de ¼ do


círculo:
§ A = A1 - A2 = 2.500 – 1.256 = 1.244 m2

17
REPRESENTAÇÃO X PRECISÃO

§ É possível obter o valor exato destas áreas?


§ O erro depende exclusivamente da aproximação escolhida para 𝝅.
§ Nas opções (b) e (c), foram usadas aproximações mais precisas para 𝛑.
§ A área nunca será exata pois 𝝅 é um número irracional, portanto, não
pode ser representado por um número finito de dígitos decimais.

§ Os erros ocorridos dependem da representação dos números na


máquina utilizada. Esta representação depende:
§ Da base disponível na máquina em uso.
§ Número máximo de dígitos usados na sua representação.

18
REPRESENTAÇÃO X PRECISÃO

§ Cálculos com números infinitos não fornecem resultado exato.

§ Quanto maior o número utilizados de dígitos, maior a precisão


obtida.

§ IMPORTANTE: Um número pode ter representação finita em uma


base e não finita em outra.

19
INTERAÇÃO ENTRE USUÁRIO E COMPUTADOR

§ Os dados de entrada são


enviados ao computador pelo Processo de Conversão
usuário no sistema decimal.

§ A informação é convertida
para o sistema binário onde Fonte de Erros
são efetuadas as operações.

§ Os resultados finais são


convertidos para o sistema Resultado Final
decimal e então apresentados.
1.3. SISTEMA DECIMAL E BINÁRIO

§ Sistema Decimal – possui dez dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8 , 9


§ Dez (10) é a base do sistema.
§ Uma convenção atribui significado à posição/lugar ocupado por um dígito.
§ Um número é expresso por uma soma de potências de 10, multiplicadas
por coeficientes apropriados.

§ Exemplo: 43.087 = 4x104 + 3x103 + 0x102 + 8x101 + 7x100 =


40.000 + 3.000 + 0 + 80 + 7 = 43.087

21
1.3. SISTEMA DECIMAL E BINÁRIO

§ Sistema Binário – possui dois dígitos: 0 e 1


§ Dois (2) é a base do sistema.
§ Dígitos individuais representam os coeficientes de potências de 2.
§ Um número é expresso por uma soma de potências de 2, multiplicadas
por coeficientes apropriados.

§ Exemplo: 10111 = 1x24 + 0x23 + 1x22 + 1x21 + 1x20 =


16 + 0 + 4 + 2 + 1 = 23

22
1.3.CONVERSÃO
SISTEMA DECIMAL
ENTRE EBASES
BINÁRIO

§ Conversão decimal para binário: Método das Divisões Sucessivas

30(10) = 11110(2)

Fazer este exemplo:


212(10) = 1322(5)

23
1.3.CONVERSÃO
SISTEMA DECIMAL
ENTRE EBASES
BINÁRIO

§ Conversão de um número fracionário da base 2 para a base 10:

§ Exemplo: 0,1012 = 1x2-1 + 0x2-2 + 1x2-3 = 0,5 + 0,125 = 0,62510

§ Sendo: 0,62510 = 6x10-1 + 2x10-2 + 5x10-3 =


0,6 + 0,02 + 0,005 = 0,625

24
1.3.CONVERSÃO
SISTEMA DECIMAL
ENTRE EBASES
BINÁRIO

§ Conversão de um número fracionário da base 10 para a base 2:

§ Seja r um número entre 0 e 1 no sistema decimal e


(0, d1 d2 ... dj ...)2 sua representação no sistema binário.

§ Os dígitos binários d1 d2 ... dj ... são obtidos através da aplicação


de um algoritmo, apresentado a seguir.

25
1.3.CONVERSÃO
SISTEMA DECIMAL
ENTRE EBASES
BINÁRIO

§ Método das Multiplicações Sucessivas

§ Passo 0: r1 = r ; k = 1 (inicializações)
§ Passo 1: Calcule 2rk ; Se 2rk ≧ 1, dk = 1, Caso Contrário, dk = 0
§ Passo 2: Faça rk+1 = 2rk – dk; Se rk+1 = 0 PARE, Senão SIGA
§ Passo 3: k = k + 1, Volte ao Passo 1.

§ O algoritmo pode ou não terminar após um número finito de


passos número sem representação finita.

26
1.3.CONVERSÃO
SISTEMA DECIMAL
ENTRE EBASES
BINÁRIO

§ Exemplo: r = (0,125)10 (0,001)2 finita


§ Passo 0: r1 = 0,125 e k = 1
§ Passo 1: 2r1 = 0,25; d1 = 0
§ Passo 2: r2 = 0,25 – 0 = 0,25
§ Passo 3: k=2 Voltar ao Passo 1
§ Passo 1: 2r2 = 0,5; d2 = 0
§ Passo 2: r3 = 0,5 – 0 = 0,5
§ Passo 3: k=3 Voltar ao Passo 1
§ Passo 1: 2r3 = 1,0; d3 = 1
§ Passo 2: r4 = 1,0 – 1,0 = 0 PARE

27
1.3.CONVERSÃO
SISTEMA DECIMAL
ENTRE EBASES
BINÁRIO

§ Exercício: Converter o número r = (0,1)10 para a base 2.

§ Observações após realizar este exercício:


§ OBS1) Números sem representação finita no sistema binário podem gerar
erros aparentemente inexplicáveis em cálculos efetuados em sistemas
computacionais binários.
§ OBS2) Um computador no sistema binário armazena uma aproximação
para (0,1)10 pois possui um número fixo de posições para guardar os
dígitos da mantissa de um número.
§ Portanto, não se pode esperar um resultado exato.

28
1.4.1.3.
ARITMÉTICA
SISTEMA DECIMAL
DE PONTOE FLUTUANTE
BINÁRIO

§ Formas de armazenamento dos números em máquina:

§ Ponto fixo: valores inteiros

§ Ponto flutuante: valores reais

29
1.4.1.3.
ARITMÉTICA
SISTEMA DECIMAL
DE PONTOE FLUTUANTE
BINÁRIO

§ Ponto flutuante
!! !" !# !$
𝑥= ! + " + # + …+ × 𝑏#
" " " "$

§ b = base onde a máquina opera


§ di = nos inteiros contidos no intervalo 0 ≦ di ≦ (b – 1); i = 1, 2, ... , t; d1 ≠ 0
§ e = expoente de b, assume valores entre I ≦ e ≦ S
§ I e S = limite inferior e superior do expoente
§ t = número de dígitos significativos precisão da máquina
!! !" !# !$
§ "!
+ "" + "# + … + "$ = mantissa

30
1.3.
EXEMPLOS
SISTEMA– DECIMAL
SISTEMA EDECIMAL
BINÁRIO

§ No sistema decimal tem-se que:

# " %
§ 0,62510 = ! + " + × 10$
!$ !$ !$#
& ! ' ! %
§ 3,141510 = ! + " + # + $ + × 10!
!$ !$ !$ !$ !$%

§ Os números acima estão normalizados: a mantissa é um valor


entre 0 e 1.
§ Forma normalizada: usada por computadores em operações em
ponto flutuante.

31
1.3.
EXEMPLOS
SISTEMA–DECIMAL
SISTEMAEBINÁRIO
BINÁRIO

§ No sistema binário tem-se que:

! $ ! $ ! %
§ 2110 = 101012 = 0,10101 × 25 = "!
+ ""
+ "#
+ "$
+ "%
× 2

! $ &$
§ 410 = 1002 = 0,1 × 23 = "!
+ ""
+ "#
× 2

§ Os números acima também estão normalizados: a mantissa é um


valor entre 0 e 1.

32
EXEMPLO
1.3. SISTEMA
1 – REPRESENTAÇÃO
DECIMAL E BINÁRIO
DE NÚMEROS

§ Numa máquina cujo sistema de representação utilizado tenha:

§ b=2
§ t = 10
§ I = – 15
§ S = 15

§ Determinar a representação do número 4110 (mantissa e


expoente), sem sinal.

33
EXEMPLO
1.3. SISTEMA
1 – REPRESENTAÇÃO
DECIMAL E BINÁRIO
DE NÚMEROS

§ 4110 = 1010012 = 0,101001 × 26 = 0,101001 × 2110

! $ ! $ $ !
§ ! + " + # + $ + % + × 2!!$
" " " " " "&

§ Ou de forma mais compacta:


§ 1010010000 mantissa
§ 0110 expoente

34
EXEMPLO
1.3. 1SISTEMA
EXPANDIDO
DECIMAL
– PALAVRA
E BINÁRIO
DE 16 BITS

§ Vamos expandir o exemplo anterior, que possui uma


representação com 14 bits, atribuindo um bit de sinal para a
mantissa e outro bit de sinal para o expoente.

§ Com isso, agora teremos uma representação com 16 bits.

35
EXEMPLO
1.3. 1SISTEMA
EXPANDIDO
DECIMAL
– PALAVRA
E BINÁRIO
DE 16 BITS

§ 10 bits para a mantissa


§ 4 bits para o expoente
§ 1 bit para sinal da mantissa: 0 = positivo, 1 = negativo
§ 1 bit para sinal do expoente: 0 = positivo, 1 = negativo

36
EXEMPLO
1.3. 1SISTEMA
EXPANDIDO
DECIMAL
– PALAVRA
E BINÁRIO
DE 16 BITS

§ No caso, podemos dizer que o maior valor que pode ser


representado por uma palavra de 16 bits é:

§ O que em base decimal seria: 0,1111111111 x 21111 = 32.736

37
EXEMPLO
1.3. 1SISTEMA
EXPANDIDO
DECIMAL
– PALAVRA
E BINÁRIO
DE 16 BITS

§ E o menor valor que pode ser representado por uma palavra de


16 bits é:

§ O que em base decimal seria: – 0,1111111111 x 21111 = – 32.736

38
EXEMPLO
1.3. 1SISTEMA
EXPANDIDO
DECIMAL
– PALAVRA
E BINÁRIO
DE 16 BITS

§ Portanto, o intervalo de números que podem ser representados no


exemplo é:

−𝟑𝟐. 𝟕𝟑𝟔𝟏𝟎 ; 𝟑𝟐. 𝟕𝟑𝟔𝟏𝟎

39
EXEMPLO
1.3. 1SISTEMA
EXPANDIDO
DECIMAL
– PALAVRA
E BINÁRIO
DE 16 BITS

§ O valor de zero é representado por:

40
EXEMPLO
1.3. 1SISTEMA
EXPANDIDO
DECIMAL
– PALAVRA
E BINÁRIO
DE 16 BITS

§ O próximo número positivo após o zero é representado por:

§ Este número em base decimal: 0,1 x 2-15 = 0,000015259

§ E o número positivo subsequente seria representado por:

§ Este número em base decimal: 0,1000000001 x 2-15 = 0,000015289

41
EXEMPLO
1.3. SISTEMA
2 – REPRESENTAÇÃO
DECIMAL E BINÁRIO
DE NÚMEROS

§ Uma máquina opera no sistema: b = 10; t = 4; e ∈ [ -5 , 5 ]

§ O menor número (m), em valor absoluto, que pode ser


representado é: m = 0,1000 x 10-5

§ O maior número (M), em valor absoluto, que pode ser


representado é: M = 0,9999 x 105

42
EXEMPLO
1.3. SISTEMA
2 – REPRESENTAÇÃO
DECIMAL E BINÁRIO
DE NÚMEROS

§ Considere o conjunto de números reais R e o seguinte conjunto:

𝑮=𝒙 ∈𝑹|𝒎 ≤ 𝒙 ≤𝑴

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


EXEMPLO 2, apresentadas a seguir.

43
EXEMPLO 2 – REPRESENTAÇÃO DE NÚMEROS

§ 1) x ∈ 𝐺

§ Exemplo: x = 2.007,99 = 0,200799 x 104

§ Estão representados nesta máquina os números:

§ 0,2007 x 104 com truncamento


§ 0,2008 x 104 com arredondamento

44
EXEMPLO 2 – REPRESENTAÇÃO DE NÚMEROS

§ 2) | x | < m

§ Exemplo: x = 0,73899 x 10-6

§ Não há representação possível para este número nesta máquina,


pois o expoente e é menor do que – 5.

§ Nesta situação a máquina acusa a ocorrência de underflow.

45
EXEMPLO 2 – REPRESENTAÇÃO DE NÚMEROS

§ 3) | x | > M

§ Exemplo: x = 0,1010 x 109

§ Não há representação possível para este número nesta máquina,


pois o expoente e é maior do que 5.

§ Nesta situação a máquina acusa a ocorrência de overflow.

46
PRECISÃO DUPLA

§ Algumas linguagens de programação permitem a declaração de


variáveis em precisão dupla usa o dobro de bits para
representar o números

§ Precisão simples: 23 bits para a mantissa e 8 para o expoente


§ Precisão dupla: 52 bits para a mantissa e 11 para o expoente
§ A precisão dupla deve ser usada só quando necessário, pois:
§ Aumenta o tempo de execução.
§ Aumenta o requerimento de memória.

47

Você também pode gostar