GEM03: Algoritmos e Programação de Computadores Sistemas Numéricos Eduardo Figueiredo 25 de Março de 2010 Aula 04 Monitoria Tassyo Tchesco Vai estar em nossas aulas de laboratório Vai estar disponível em horários extraclasse para tirar dúvidas Tassyo ainda vai me passar estes horários 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 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) 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) Reposição da Aulas Quinta (04/03) Quinta (18/03) Reposição dia 11/04 Reposição dia 18/04 Sexta (19/03) Reposição dia 01/04 (uma aula) + Lista de Exercício (duas aulas) 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 Avaliação Duas provas: 35 pts cada Prova 1 (P1): 30/Abril ou 07/Maio Exercícios serão Prova 2 (P2): 02 ou 09/Julho contados como pontos extras Dois trabalhos: 15 pts cada Trabalho 1 (T1): Abril Trabalho 2 (T2): Junho Sistema de Numeração Conceitos Básicos 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 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 Método Tradicional Chamado numeração posicional Inventado pelos chineses O valor representado pelo algarismo depende da posição em que ele aparece 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 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 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 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) 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 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” Representação de Letras “Eis” alfabético “69 105 115” decimal “0100 0101 0110 1001 0111 0011” binário Representação de Letras “Eis” alfabético “69 105 115” decimal “0100 0101 0110 1001 0111 0011” binário E i s ASCII 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) 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 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 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 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) 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) Usando Relés Um Relé (2 padrões) 0 Dois Relés (4 padrões) 0 1 1 2 3 Usando Relés Três Relés (8 padrões) 0 Generalizando n relés = 2n padrões Ao usar mais relés, podemos armazenar mais símbolos 1 2 ... 7 Quantidade de Algarismos O maior número que pode ser representado na base 10 usando 3 algarismos é 999 O maior número que pode ser representado na base 2 usando 8 algarismos é 255 103 - 1 = 999 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 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” é ... --- ... 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 Exemplos de Bases Algumas bases importantes na computação Em geral, uma base b terá b algarismos 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 Variando entre 0 e (b - 1) A representação 125,38 (base 10) 1x102 + 2x101 + 5x100 + 3x10-1 + 8x10-2 Identificando a Base Em qual base está o número 9B3? Em qual base está o número 11? Resposta óbvia, pois o algarismo B só existe na base 16 (hexadecimal) 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 Representação de um Número Representamos um número N (de n casas), numa dada base b, como segue Parte inteira Nb = an.bn + .... + a2.b2 + a1.b1 + a0.b0 + a-1.b-1 + a-2.b-2 + .... + a-n.b-n an.bn + .... + a2.b2 + a1.b1 + a0.b0 Parte fracionária a-1.b-1 + a-2.b-2 + .... + a-n.b-n 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 Linguagens do Computador Bytes e ASCII Linguagem do Computador Os computadores utilizam o sistema binário Dígito binário são chamados bit Todas as informações armazenadas ou processadas são representadas por 0 e 1 Do inglês, binary digit Um bit pode assumir os valores 0 ou 1 Analogia à tensões elétricas / sinais eletrônicos 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, ... 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 Bits necessários Bits Símbolos Bits Símbolos 2 4 7 128 3 8 8 256 4 16 9 512 5 32 10 1024 6 64 ... ... Bits necessários Bits Símbolos Bits Símbolos 2 4 7 128 3 8 8 256 4 16 9 512 5 32 10 1024 6 64 ... ... Precisamos representar pelo menos 118 símbolos Bits necessários Bits Símbolos Bits Símbolos 2 4 7 128 3 8 8 256 4 16 9 512 5 32 10 1024 6 64 ... ... Escolhido 8 bits para permitir símbolos extras 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 Representação Binária 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 Representação ASCII Símbolo Decimal Atualmente, todos os 8 bits são usados 8 bits representam 256 símbolos Binário ... ... ... A 065 0100 0001 B 066 0100 0010 ... ... ... a 097 0110 0001 b 098 0110 0010 ... ... ... Referências Peter Norton, Introdução à Informática, Pearson Makron Books, 1996. Páginas 102 a 112 no xerox (Bloco 1B)