sistemas numéricos eduardo figueiredo 25 de março de 2010 gem03: algoritmos e programação de...

47
Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Upload: internet

Post on 21-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Sistemas Numéricos

Eduardo Figueiredo

25 de Março de 2010

GEM03: Algoritmos e Programação de Computadores Aula 04

Page 2: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Monitoria

Tassyo Tchesco Vai estar em nossas aulas de

laboratório Vai estar disponível em horários extra-

classe para tirar dúvidas Tassyo ainda vai me passar estes

horários

Page 3: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Exercício de Revisão

Será contado como presença para duas aulas do dia 19/03 Pode ser contado como 1 ponto extra no

Trabalho 1 (T1)

Entrega individual até dia 01/04 Na próxima aula ou antes em minha sala

Page 4: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Agenda das Próximas Aulas

Data Conteúdo

11/03 * Introdução a Hardware

12/03 Introdução a Software

18/03 Não Haverá Aula

19/03 Não Haverá Aula

* Duas aulas = 1 aula do dia 11/03 + 1 aula do dia 04/03 (reposição)

Page 5: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Agenda das Próximas Aulas

Data Conteúdo

25/03 * Sistemas Numéricos

26/03 Introdução a Programação

01/04 ** Revisão dos Exercícios

02/04 Feriado

* Duas aulas = 1 aula do dia 25/03 + 1 aula do dia 18/03 (reposição)** Duas aulas = 1 aula do dia 01/04 + 1 aula do dia 19/03 (reposição)

Page 6: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Reposição da Aulas

Quinta (04/03) Reposição dia 11/04

Quinta (18/03) Reposição dia 18/04

Sexta (19/03) Reposição dia 01/04 (uma aula)

+ Lista de Exercício (duas aulas)

Page 7: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Avaliação

Duas provas: 35 pts cada Prova 1 (P1): 30/Abril ou 07/Maio Prova 2 (P2): 02 ou 09/Julho

Dois trabalhos: 15 pts cada Trabalho 1 (T1): Abril Trabalho 2 (T2): Junho

Page 8: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Avaliação

Duas provas: 35 pts cada Prova 1 (P1): 30/Abril ou 07/Maio Prova 2 (P2): 02 ou 09/Julho

Dois trabalhos: 15 pts cada Trabalho 1 (T1): Abril Trabalho 2 (T2): Junho

Exercícios serão contados como pontos extras

Page 9: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Sistema de NumeraçãoConceitos Básicos

Page 10: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Primeiros registros de cálculo

Acredita-se que os primeiros seres humanos a calcular eram pastores Empilha pedras para controlar a

quantidade de ovelhas de seu rebanho Calculus latim pedra

Page 11: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

O Sistemas de Numeração

Objetivos Prover símbolos e convenções para

representar quantidades Registrar processar informação

quantitativa

Tradicionalmente feita com números

Page 12: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Método Tradicional

Chamado numeração posicional

Inventado pelos chineses

O valor representado pelo algarismo depende da posição em que ele aparece

Page 13: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Sistema Decimal (base 10)

A posição à esquerda altera seu valor de uma potência de 10

Exemplo 125 1 representa 100 (102) 2 representa 20 (2x101) 5 representa 5 (5x100) 125 = 1x102  + 2x101 + 5x100

Page 14: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Ligado e Desligado

Tudo que o computador entende é sinal de duas condições Sinais elétricos, polaridade magnética,

luz refletida ou não, etc.

Ou seja, computadores somente sabem se um interruptor está ligado ou desligado

Page 15: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Representando Informação

O computador forma padrões complexos Ele possui inúmeros “interruptores”

(chamados transistores) Os transistores operam em velocidades

fenomenais

Estes padrões são significativos para humanos

Page 16: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Dado X Informação

Dados são sinais brutos e sem significado individual

Os computadores manipulam dados para produzir informação

Analogia com texto escrito Os escritores transformam letras (dados)

em um texto com significado (informação)

Page 17: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Tudo é número

Para o computador, qualquer coisa é número Números são números Letras são números Pontuação são números Símbolos são números

Page 18: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Representação de Letras

Exemplo de letras Eis algumas palavras

A palavra “Eis” pode ser representada como “69 105 115”

“69 105 115” pode ser convertido para “0100 0101 0110 1001 0111 0011”

Page 19: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Representação de Letras

“Eis” alfabético

“69 105 115” decimal

“0100 0101 0110 1001 0111 0011” binário

Page 20: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Representação de Letras

“Eis” alfabético

“69 105 115” decimal

“0100 0101 0110 1001 0111 0011” binário

E i s ASCII

Page 21: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Sistemas de Numeração

Sistemas numéricos são métodos diferentes de representar quantidade A quantidade não muda Os símbolos usados que mudam

Além do sistema decimal, outros sistemas são importantes na informática Sistema binário (base 2) Sistema octal (base 8) Sistema hexadecimal (base 16)

Page 22: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

O Sistema Decimal

Acredita-se que usamos o sistema decimal porque temos 10 dedos Primeira maneira que os seres humanos

encontraram para mostrar quantidade Crianças aprendem a contar usando os

dedos

Page 23: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

O Sistema Decimal

Digitus significa dedos (latim)

O sistema decimal possui dez símbolos 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9

E como reprezentar a quantidade dez? Neste caso, temos que usar dois símbolos

Page 24: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Sistemas numéricos: diferenças

Válido para todo sistema numérico Acrescentar um novo dígito quando os

símbolos se esgotam Exemplo: 10 em decimal (dois dígitos)

Os sistemas numéricos possuem diferentes quantidades de símbolos disponíveis Hexadecimal: 16 símbolos Binário: 2 símbolos

Page 25: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Por que binário?

Computadores usam o sistema binário É mais simples distinguir duas condições

opostas (como ligado e desligado) O CPU é composto de “pequenos relés”

(os transistores) Transistores podem ser tão pequenos que

uma CPU pode possuir milhões deles Cada transistor só pode guardar um dado

(0 ou 1)

Page 26: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Armazenando Dados

O computador deve saber guardar os dados antes de efetuar uma operação

Exemplo Antes de somar 1 + 1, é preciso registrar

estes valores (e a soma dos valores) Para armazenar dados, computadores

usam o estado mais fundamental Ligado ou desligado (duas condições)

Page 27: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Usando Relés

0

1

Um Relé (2 padrões) Dois Relés (4 padrões)

0

1

2

3

Page 28: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Usando Relés

. . .

Três Relés (8 padrões)

0

1

2

7

Generalizando n relés = 2n padrões

Ao usar mais relés, podemos armazenar mais símbolos

Page 29: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Quantidade de Algarismos

O maior número que pode ser representado na base 10 usando 3 algarismos é 999 103 - 1 = 999

O maior número que pode ser representado na base 2 usando 8 algarismos é 255 28 - 1 = 255

Generalizando, o maior número inteiro N que pode ser representado em uma dada base b com n algarismos é N = bn – 1

Page 30: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Código Morse é Binário

Possui dois símbolos Ponto (.) e traço (-)

Ponto é um som curto Traço é um som longo Exemplo

“S” em código Morse é ... (ponto ponto ponto) “O” em código Morse é --- (traço traço traço) “SOS” é ... --- ...

Page 31: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Base em Sistemas de Numeração

Define a quantidade de algarismos disponível na representação

A base 10 é usualmente empregada Mas, não é a única Outros exemplos: pedimos uma dúzia de ovos (12),

marcamos o tempo em minutos e segundos (60), etc.

Computadores utilizam a base 2 Sistema binário

Page 32: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Exemplos de Bases

Algumas bases importantes na computação Base 2 0 e 1 Base 8 0 a 7 Base 10 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9 Base 16 0 a 9, A, B, C, D, E e F

Em geral, uma base b terá b algarismos Variando entre 0 e (b - 1)

A representação 125,38 (base 10) 1x102  + 2x101 + 5x100 + 3x10-1 + 8x10-2

Page 33: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Identificando a Base

Em qual base está o número 9B3? Resposta óbvia, pois o algarismo B só existe na

base 16 (hexadecimal)

Em qual base está o número 11? Pode estar em qualquer base conhecida Portanto, a base deve ser especificada

Para diferenciar as bases, utiliza-se um número situado à direita inferior Exemplo: 112

Page 34: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Representação de um Número

Representamos um número N (de n casas), numa dada base b, como segue Nb = an.bn + .... + a2.b2 + a1.b1 + a0.b0 + a-1.b-1 + a-

2.b-2 + .... + a-n.b-n

Parte inteira an.bn + .... + a2.b2 + a1.b1 + a0.b0

Parte fracionária a-1.b-1 + a-2.b-2 + .... + a-n.b-n

Page 35: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Resumo de Regras

A base B indica à quantidade de algarismos distintos que podem ser utilizados

O algarismo mais a direita tem peso um O algarismo imediatamente a sua esquerda tem

peso B O seguinte B2, depois B3 ...

O valor de um número é determinado pela soma dos valores de cada algarismo multiplicado com seu peso

Page 36: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Linguagens do ComputadorBytes e ASCII

Page 37: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Linguagem do Computador

Os computadores utilizam o sistema binário Todas as informações armazenadas ou

processadas são representadas por 0 e 1

Dígito binário são chamados bit Do inglês, binary digit

Um bit pode assumir os valores 0 ou 1 Analogia à tensões elétricas / sinais

eletrônicos

Page 38: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Conjunto de bits

Um bit pode representar apenas dois símbolos: 0 ou 1

Quantos bits são necessários para representar todos os símbolos? Todas as letras Símbolos de pontuação Algarismos numéricos, ...

Page 39: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Símbolos

Caracteres alfabéticos maiúsculos 26

Caracteres alfabéticos minúsculos 26

Algarismos 10

Sinais de pontuação e outros símbolos 32

Caracteres de controle 24

TOTAL 118

Page 40: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Bits necessários

Bits Símbolos

2 4

3 8

4 16

5 32

6 64

Bits Símbolos

7 128

8 256

9 512

10 1024

... ...

Page 41: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Bits necessários

Bits Símbolos

2 4

3 8

4 16

5 32

6 64

Bits Símbolos

7 128

8 256

9 512

10 1024

... ...

Precisamos representar pelo menos 118 símbolos

Page 42: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Bits necessários

Bits Símbolos

2 4

3 8

4 16

5 32

6 64

Bits Símbolos

7 128

8 256

9 512

10 1024

... ...

Escolhido 8 bits para permitir símbolos extras

Page 43: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Sistema do Computador

Um Byte é um conjunto de oito bits

Dados são armazenados na base binária, não na decimal 0 = 00000000 1 = 00000001 2 = 00000010 255 = 11111111

Na base 2, o número "10" vale dois 102 = 210

Page 44: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Representação Binária

Page 45: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Representação ASCII

É de longe a representação de símbolos mais comum ASCII = American Standard Code for

Information Interchange Inicialmente um bit não era usado para

representar símbolos Chamado bit de paridade 7 bits representam 128 símbolos

Page 46: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Representação ASCII

Atualmente, todos os 8 bits são usados 8 bits representam

256 símbolos

Símbolo Decimal Binário

... ... ...

A 065 0100 0001

B 066 0100 0010

... ... ...

a 097 0110 0001

b 098 0110 0010

... ... ...

Page 47: Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 GEM03: Algoritmos e Programação de Computadores Aula 04

Referências

Peter Norton, Introdução à Informática, Pearson Makron Books, 1996. Páginas 102 a 112 no xerox (Bloco 1B)