Você está na página 1de 36

Clculo Numrico

Conceitos Bsicos

Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br

MATERIAL ADAPTADO DOS SLIDES DA DISCIPLINA CLCULO


NUMRICO DA UFCG - www.dsc.ufcg.edu.br/~cnum/
1

Princpios usados em CN
Fluxograma Soluo Numrica
PROBLEMA

modelagem

MODELO
MATEMTICO

LEVANTAMENTO
DE DADOS
PROBLEMA
CONSTRUO
DO MODELO
MATEMTICO

ESCOLHA DO
MTODO
NUMRICO

SOLUO

resoluo

IMPLEMENTAO
COMPUTACIONAL
ANLISE DOS
RESULTADOS
VERIFICAO
2

Princpios usados em CN
Comuns anlise matemtica, C&T
1. Iterao ou aproximao sucessiva

Partindo-se de soluo aproximada, inicial,


repetem-se mesmas aes/processos para
refinar soluo inicial
OBS: para evitar trabalho sem fim (e de graa),
deve-se determinar se a iterao converge (nem
sempre o caso...) e condies de parada

Princpios usados em CN
2. Discretizao

Na resoluo de problemas contnuos


(aqueles definidos matematicamente com
uma passagem ao limite), inverte-se a
passagem ao limite, discretizando o
problema
Ex: e dx ~
x2

...

Princpios usados em CN
3. Aproximao
Substituir

uma funo ou modelo por outro


que oferea comportamento (de interesse)
semelhante, mais simples de manipular
f(x)
g(x)
Ex: assntotas ilustram comportamento no limite
de uma funo (complexa) de interesse

Princpios usados em CN
4. Transformao
Dado

um problema P, desmembra-se P
em dois problemas mais simples de
resolver, P1 e P2

rea de um trapzio por retngulo (P1) e


tringulos (P2)

Princpios usados em CN
5. Diviso e Conquista
Resolver

um problema P, por partes ou

etapas
Exemplo anterior (rea do trapzio)
Aulas nesta disciplina de CN

Sistemas de numerao

Representao posicional
Base

decimal (10)

10 dgitos disponveis [0,1,2, ... ,9]


Posio indica potncia positiva de 10
5432 = 5x103 + 4x102 + 3x101 + 2x100
N=anbn+an-1bn-1+an-2bn-2+...+a0b0+a-1b-1+... +a-mb-m
N um dado numero na base b e an, an-1 etc
representam os coeficientes que multiplicam as
potncias de b.

Sistemas de numerao

Representao de inteiros
Base

binria (2)
2 bits disponveis [0,1]
Posio indica potncia positiva de 2
11011 na base 2 = 1x24 +1x23 + 0x22 + 1x21 +
1x20 = 16 +8+0+2+1 = 27 na base decimal

Sistemas de numerao

Representao de nmeros fracionrios


Base

decimal (10)

Posio da parte inteira indica potncia positiva


de 10
Potncia negativa de 10 para parte fracionria
54,32 = 5x101 + 4x100 + 3x10-1 + 2x10-2

10

Sistemas de numerao

Representao de nmeros fracionrios


Base

binria (2)

Posio da parte inteira indica potncia positiva


de 2
Potncia negativa de 2 para parte fracionria

10,11 na base 2 = 1x21 + 0x20 + 1x2-1 + 1x2-2 =


2+0+1/2+1/4 = 2,75 na base decimal

11

Outros sistemas de numerao

Maior interesse em decimal (10)


Nossa

anatomia e cultura

e binrio (2)
Uso

nos computadores

Outros sistemas
Octal

(8), {0,1,2, ... , 7}


Hexadecimal (16), {0,1,2, ... , 9, A,B,C,D,E,F}
Dodecimal (relgio, calendrio)
12

Alguns sistemas numricos


Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Binrio
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111

Octal
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17

Hexadecimal
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

13

Converso de Inteiro

Binrio para decimal


J

visto
11011 na base 2 = 1x24 +1x23 + 0x22 + 1x21 + 1x20 = 16
+8+0+2+1 = 27 na base decimal

Inteiro decimal para binrio


Diviso

inteira (do quociente) sucessiva por 2, at que


resto seja = 0 ou 1
Binrio = composio do ltimo quociente (Bit Mais
Significativo MSB) com restos (primeiro resto bit
menos significativo LSB)
Em ingls, Most Significant Bit MSB e least significat bit LSB,
respectivamente.
14

Converso de inteiro

Exemplo: Converter 25 decimal para binrio

25 / 2 = 12 (quociente) e resto 1= LSB

12 / 2 = 6 (quociente) e resto 0

6 / 2 = 3 (quociente) e resto 0

3 / 2 = 1 (ltimo quociente=MSB) e resto 1

Binrio = MSB ... LSB = 1

1001

= 1x24 + 1x24 + 0x22 + 0x21 + 1x20


= 16 + 8 + 0 + 0 + 1 = 25 decimal

15

Converso de Inteiros entre Sistemas

Procedimentos bsicos: - diviso


- polinmio
- agrupamento de bits

HEXADECIMAL

POLI
DIV

DECIMAL

POLI
DIV

OCTAL

DIV

POLI

BINRIO

16

Converso (Inteiros) entre


sistemas
543 16
125 2
62

2
31

2
15

12510 = 11111012

15
2
7

2
3

1
Sentido

33 16
1

2
Sentido
da leitura

O
resto
15

representado pela
letra F
53810 = 21F16

da leitura
17

Converso (Inteiros) entre sistemas


a) (1011110010100111)2 = ( ? )16

b) (A79E)16 = ( ? )2

18

Converso (Inteiros) entre sistemas


Converso octal

hexadecimal

No realizada diretamente
no h relao de
potncias entre as bases oito e dezesseis.

Semelhante converso entre duas bases


quaisquer base intermediria (base binria)

Converso em duas etapas:

1 - nmero: base octal (hexadecimal) binria.


2 - resultado intermedirio: binria hexadecimal (octal).

Joseana M. Fechine

Converso de frao
Operao inversa: multiplicar parte
fracionria por 2 at que parte fracionria
do resultado seja 0 (zero)
Bits da parte fracionria derivados das
partes inteiras das multiplicaes
Bit imediatamente direita da vrgula =
Parte inteira da primeira multiplicao

20

Converso de frao

Exemplo: converter 0,625 decimal para binrio


0,625 x 2 = 1,25 logo a primeira casa fracionria

1 ; nova frao (resto) 0,25 (1,25-1=0,25)


0,25 x 2 = 0,5 segunda casa 0 ; resto 0,5
0,5 x 2 = 1,0 terceira casa 1 ; resto zero.

Resultado: 0,62510 = 0,1012


21

Converso partes
inteira,fracionria juntas

Para converter um nmero com parte


inteira e parte fracionria, fazer a
converso de cada parte, separadamente.

anbn an1bn1 an2bn2 ... a0b0 a1b1 a2b2 ... ambm


Parte Inteira

Parte Fracionria

22

Converso partes
inteira,fracionria juntas
(8,375)10 = ( ? )2

23

Exerccios

Mostre que:
5,8

= 101,11001100... , uma dzima.


11,6 = 1011,10011001100...

a vrgula foi deslocada uma casa para a direita,


pois 11,6 = 2 x 5,8 .

24

Representao em ponto
(vrgula) flutuante - float

Representao pode variar (flutuar) a


posio da vrgula, ajustando potncia da
base.
54,32 = 54,32 x 100 = 5,432 x 101 = 0,5432 x
102 = 5432,0 x 10-2
Forma

normalizada usa um nico dgito antes


da vrgula, diferente de zero

Exemplo: 5,432 x 101


25

Representao em ponto
(vrgula) flutuante - float

No sistema binrio:
= 110,101x23 = 1,10101x25 = 0,0110101x27
No caso dos nmeros serem armazenados em um
computador, os expoentes sero tambm gravados
na base dois
110101

Como 310 = 112 e 7=1112


110,101 x (2)11 = 1,10101x(2)101 = 0,0110101x(2)111

Na

representao normalizada, h apenas um 1


antes da vrgula

Exemplo: 1,10101x(2)101

26

Representao em ponto
(vrgula) flutuante - float

Algumas definies
No

nmero 1,10101x(2)101 , tomado como referncia:


1,10101 = significando (ou mantissa)
101 = expoente

OBS:
a

base binria no precisa ser explicitada (o


computador usa sempre esta)
O 1 antes da vrgula, na representao normalizada
se esta for adotada, tambm pode ficar implcito,
economizando um bit (bit escondido).
27

Representao em ponto
(vrgula) flutuante - float

Representao genrica
Uma

mquina representa um nmero real no sistema


de aritmtica de ponto flutuante, na forma:

(.d1d2...dt ) x (b)exp ,

t o nmero de dgitos da mantissa


d1d2...dt = mantissa, com 0 di (b-1), d1 0.
b = base
exp = expoente (inteiro com sinal)

28

Representao em ponto
(vrgula) flutuante - float

Representao genrica
Considere

(.d1d2...dt ) x (b)exp , onde:

1.
2.

uma mquina que opera no sistema:

t=3
b = 10
exp [-5, 5]

Como os nmeros sero representados nesse sistema?


Qual o menor (m) e o maior nmero (M), em valor absoluto,
que pode ser representado nesta mquina?
29

Padro IEEE para floats

O padro IEEE 754 para ponto (vrgula)


flutuante a representao mais comum
para nmeros reais em computadores de
hoje, incluindo PC's compatveis com Intel,
Macintosh, e a maioria das plataformas
Unix/Linux.

30

Padro IEEE para floats

O padro (ou norma) IEEE 754 define dois


formatos bsicos para os nmeros em
ponto flutuante:
o

formato ou preciso simples, com 32 bits; e,


o duplo com 64 bits.

31

Padro IEEE 754 para floats


Sinal

Expoente(+/-)

Mantissa

Simples (32bits)

1 [bit31]

8 [bits30-23]

23 [bits22-00]

Dupla (64 bits)

1 [bit63]

11 [bits62-52]

52 [bits51-00]

Sinal: 0 = + e 1 = Combinaes: Sinal + Expoente + Mantissa

32

Padro IEEE 754 para floats

Armazenamento do nmero 22,5 em preciso dupla.

Nmero finito de bits na representao (nmero apenas


maior na preciso dupla), implica em truncamento (ou
arredondamento) do nmero real a ser representado.
Truncamento introduz erro na representao.

33

Erro na representao de floats

Casos especiais:
Overflow:

nmero a representar maior que maior


nmero possvel de ser representado.
Underflow: nmero a representar menor que menor
nmero possvel de ser representado.
Menor N que pode ser expresso (DP):
Maior N que pode ser expresso (DP):

34

Aritmtica com floats

Conhecidos os erros em dois nmeros,


possvel determinar o erro de uma
operao entre eles, como adio,
subtrao, multiplicao e diviso.

Erro depende de mtodo / procedimentos


empregados.

35

Aritmtica com floats

Padro IEEE 754 define algoritmo para


adio, subtrao, multiplicao, diviso e
raiz quadrada e exige que implementaes
produzam o(s) mesmo(s) resultado(s).

Igualdade dos bits (resultados) em vrias


processadores.
Transportabilidade de software.
Vide prximo mdulo.
36