Aula22-Inf1bianca/informatica1/index_arquivos/Aula22-Inf1.pdf · Aula 22 - 12/11/2007 6 Números...

24
Aula 22 - 12/11/2007 1 Informática I Aula 22 http://www.ic.uff.br/~bianca/informatica1/

Transcript of Aula22-Inf1bianca/informatica1/index_arquivos/Aula22-Inf1.pdf · Aula 22 - 12/11/2007 6 Números...

Aula 22 - 12/11/2007 1

Informática I

Aula 22

http://www.ic.uff.br/~bianca/informatica1/

Aula 22 - 12/11/2007 2

Ementa

• Noções Básicas de Computação (Hardware, Software e Internet) • HTML e Páginas Web • Internet e a Web• Javascript e páginas dinâmicas • Números e expressões em Javascript • Formulários em HTML (Programação orientada a Eventos)• Histórico dos Computadores • Abstração e Definição de Funções • Algoritmos e linguagens de programação• Ciência da computação como disciplina • Representação de dados• Computação e sociedade

Aula 22 - 12/11/2007 3

Introdução

• Um computador pode ser definido como um dispositivo que recebe, guarda e processa dados.

• Nesta aula veremos como os dados são representados dentro do computador.– A maioria dos computadores utiliza uma

representação digital (binária).• Porém a maneira como os dados são

representados em binário depende do tipo de dispositivo de armazenamento e do tipo de dado.

Aula 22 - 12/11/2007 4

Analógico vs. Digital

• Dados podem ser armazenados utilizando sinais analógicos ou digitais.– Sinais analógicos representam os dados de maneira “análoga”

ao dado real, com uma infinidade de valores possíveis.– Sinais digitais utilizam um conjunto discreto (finito) de valores.

Representação Analógica Representação Digital

Aula 22 - 12/11/2007 5

Analógico vs. Digital (cont.)

• Sinais de rádio são originalmente analógicos porque as frequências são medidas em uma escala contínua.– Porém podemos representá-los digitalmente utilizando

incrementos de 0.1 MHz (FM).

• Da mesma forma, relógios e termômetros digitais representam dados analógicos de forma digital.

• A vantagem da representação analógica é a maior variedade de valores que podem ser armazenados.

• A vantagem da representação digital é a facilidade de reprodução exata.– Essa característica torna a representação digital mais adequada

para os computadores, porque garante a exatidão da representação.

Aula 22 - 12/11/2007 6

Números Binários

• O sistema digital mais simples é o binário, que usa apenas 2 estados: 0 e 1, chamados de bits (“binary digits”)– Um fio passando corrente elétrica ou um

ponto magnetizado no disco corresponde ao 1, enquanto que um fio sem corrente ou um ponto não-magnetizado corresponde ao 0.

• Na representação decimal, cada digito da esquerda para direita corresponde a uma potência de 10 (100, 101, 102,...).

• Na representação binária, cada digito da esquerda para direita corresponde a uma potência de 2 (20, 21, 22,...).

Aula 22 - 12/11/2007 7

Conversão de Binário para Decimal

Aula 22 - 12/11/2007 8

Algoritmo para Conversão deDecimal para Binário

• Dado o número decimal D.• Inicialize B como vazio.• Enquanto D for não-zero repita:

– Se D é par, adicione 0 a direita de B.

– Se D é ímpar, adicione 1 a direita de B.– Divida D por 2 e arredonde para baixo.

Aula 22 - 12/11/2007 9

Conversão: Decimal para Binário

Odd = ÍmparEven = Par

Aula 22 - 12/11/2007 10

Representação de Inteiros

• Para facilitar o acesso a memória, os computadores representam inteiros utilizando um número fixo de bits.– Normalmente 32 bits, o que torna possível representar 232

números inteiros (mais de 4 bilhões)– Zeros são colocados na frente do número para preencher o

espaço todo.• Por exemplo, o número 19 é representado como:00000000000000000000000000010011

– A representação mais utilizada é a chamada complemento-a-dois.

• Números positivos começam com 0 seguidos de 31 bits com a representação binária normal.

• Números negativos começam com 1 seguidos de 31 bits com a representação em complemento a 2 (o 1 equivale ao 231 e vice-versa).

• Facilita a adição e evita o zero negativo.

Aula 22 - 12/11/2007 11

Representação Complemento-a-Dois

Aula 22 - 12/11/2007 12

Representação de Números Reais

• Usando notação científica, qualquer número real pode ser especificado por:– Uma número com um digito a

esquerda do ponto (chamado de mantissa).

– Um expoente.

• Essa notação é chamada de ponto flutuante.

• Em 1985, a IEEE estabeleceu um padrão para ponto flutuante que foi adotado pela maioria dos fabricantes.

Aula 22 - 12/11/2007 13

Ponto Flutuante (Padrão IEEE)

Aula 22 - 12/11/2007 14

Precisão da Representação Ponto Flutuante

• Já que existe uma infinidade de números reais, é impossível representar todos eles utilizando 32 ou 64 bits.– No padrão IEEE com 32 bits alcançamos uma

precisão de aproximadamente 7 digitos decimais e com 64 bits aproximadamente 16 digitos.

• Depois disso os números são arredondados.

• A maioria das linguagens de programação utiliza representações diferentes para inteiros e reais.– Porém JavaScript não faz essa diferenciação e utiliza

o representação double-precision para inteiros e reais.

Aula 22 - 12/11/2007 15

Representação de Caracteres

• Diferentemente de números inteiros e reais, os caracteres não tem nenhuma correspondência natural com bits.

• Logo, cientistas da computação criaram códigos arbitrários para fazer essa representação.

• Os mais conhecidos são o ASCII (American Standard Code for Information Interchange) e o Unicode.

Aula 22 - 12/11/2007 16

Código ASCII

• Utiliza 8 bits.

• Digitos, letras maiúsculas e minúsculas são representados por números binários consecutivos.– Permite

comparações do tipo “a” < “b”.

Aula 22 - 12/11/2007 17

Unicode

• Projetado para acomodar alfabetos com mais de 256 caracteres.

• Usa 16 bits para representar um caractere.– 65536 valores possíveis.– Representa caracteres de várias línguas, inclusive

português (ç, â, á, à, â, ...)

• Exige duas vezes mais espaço para armazenar dados.

• É compatível com o ASCII para os caracteres em comum (apenas com 0s na frente).

Aula 22 - 12/11/2007 18

Representação de Sons

• Sons são naturalmente sinais analógicos.• Cada som é produzido por uma onda

sonora de uma determinada freqüência e amplitude.

Aula 22 - 12/11/2007 19

Representação Analógica de Sons

• O telefone inventado por Graham Bell em 1875 representa as ondas sonoras como sinais elétricos de força variável que podem ser transmitidos por um fio.

• Nos discos de vinil (LPs) as ondas sonoras são representadas por ranhuras de diferentes larguras e profundidades.– A tecnologia da fita cassete é parecida, mas ao invés

de ranhuras utiliza-se magnetização.– Essa tecnologia é mais sujeita a erro do que a digital,

porque cada vez que é feita uma cópia, pequenos erros modificam o som.

• Por isso cópias de fita-cassete não tem boa qualidade.

Aula 22 - 12/11/2007 20

Representação Digital de Sons

• Para que o som possa ser representado digitalmente, a onda sonora tem que ser convertida em uma seqüência de valores discretos.– A amplitude da onda é medida em intervalos regulares.– 44100 medições por segundo são utilizadas para gravar CDs.

• Por esse motivo, os arquivos de som são muito grandes.• Algumas técnicas foram desenvolvidas para diminuir o tamanho de arquivos

de som como filtrar freqüências não audíveis.• O formato MP3 utiliza essa técnicas para diminuir o tamanho de arquivos de

som em até 10 vezes sem redução perceptível na qualidade.

Aula 22 - 12/11/2007 21

Representação de Imagens

• Como o som, imagens são armazenadas em uma variedade de formatos e técnicas de compressão.

• O formato mais simples é o bitmap.– A imagem é dividida em pontos menores chamados pixels.– Cada pixel é representado por um padrão de bits que representa

sua cor.• Para preto e branco, apenas 1 bit por pixel é necessário.

Aula 22 - 12/11/2007 22

Representação de Imagens

• A resolução é o número de pixels por polegada utilizado para representar uma imagem.– Quanto maior a resolução, melhor a

qualidade da imagem e maior o tamanho do arquivo.

Aula 22 - 12/11/2007 23

Representação de Imagens

• Para imagens coloridas, mais de um bit é armazenado por pixel.• O sistema mais comum chamado de RGB (red, green, blue) utiliza

24 bits por pixel, 8 bits para representar a intensidade de cada cor.• Dessa forma, é possível representar mais de 16 milhões de cores.• Obviamente, um arquivo de imagem colorida ocupa 24 vezes mais

espaço que um arquivo preto-e-branco.

Aula 22 - 12/11/2007 24

Representação de Imagens

• O formato bitmap é fácil de compreender mas cria arquivos muito grandes.

• Por isso, na Web utiliza-se dois outros formatos: GIF e JPEG.

• O formato GIF substitui padrões repetidos (por exemplo espaços em branco) por marcadores especiais.– Não causa perda de qualidade, mas também não diminui tanto o

tamanho.– É bom para desenhos que tem cores mais uniformes e

mudanças bem definidas de cor.

• O formato JPEG faz compressão substituindo alguns pixels pela média