37
ZEROS, UNS, ALGORITMOS E PROGRAMAS Prof. André Vignatti – DINF - UFPR

Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

  • Upload
    others

  • View
    9

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

ZEROS, UNS, ALGORITMOS E

PROGRAMAS

Prof. André Vignatti – DINF - UFPR

Page 2: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

UMA QUESTÃO DE ABSTRAÇÃO

Como 0’s e 1’s se tornam números, palavras, imagens, sons, vídeos?

A resposta:

É UMA QUESTÃO DE ABSTRAÇÃO

Antes disso: como os elementos da lógica se tornam componentes físicos

Page 3: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

SINAIS ELÉTRICOS E PORTAS LÓGICAS

Elementos da lógica: V, F, e, ou, não

Tudo vira um circuito eletrônico:

•V: sinal elétrico presente

•F: sinal elétrico ausente

•e: porta lógica

•ou: porta lógica

•não: porta lógica

Portas Lógicas:

dispositivos eletrônicos que,

de acordo com certas

regras, permitem ou não

passagem de sinal elétrico

Hoje em dia, usa-se

silício para fazê-las

Page 4: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

ZEROS E UNS

Abstraindo um pouco...

V interpreta-se como 1

F interpreta-se como 0

E então entendemos a afirmação popular:

“O computador é todo formado por somente zeros e uns”

os famosos

“bits”

Page 5: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

NÚMEROS E CONTAS

10 dedos ⇒ sistema de numeração decimal

Se tivéssemos 2 dedos:

numeração binária

Exemplo de operação numérica:

soma: “ou” lógico bit-a-bit

4+2 ⇒ 100 ou 10 = 110 ⇒ 6

Page 6: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

LETRAS E SÍMBOLOS

Tabela ASCII (1963): código binário que codifica 128 sinais

Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas” visualmente nos sinais

Uma parte da tabela:

Page 7: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

Como abstrair 1 único bit em uma imagem?

se bit é 0 então...

IMAGENS

Page 8: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”
Page 9: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

se bit é 1 então...

IMAGENS

Page 10: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”
Page 11: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

O que posso fazer com 2 bits?

se 00 então...

IMAGENS

Page 12: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”
Page 13: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

se 01 então...

IMAGENS

Page 14: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”
Page 15: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

se 10 então...

IMAGENS

Page 16: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”
Page 17: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

se 11 então...

IMAGENS

Page 18: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”
Page 19: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

O que posso fazer com 4 bits?

se

𝟎 𝟎𝟎 𝟎

IMAGENS

Page 20: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”
Page 21: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

se

𝟎 𝟎𝟎 𝟏

IMAGENS

Page 22: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”
Page 23: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

se

𝟏 𝟎𝟎 𝟏

IMAGENS

Page 24: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”
Page 25: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

O que posso fazer com VÁRIOS bits?

IMAGENS

A imagem é uma MATRIZ!

Page 26: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

E as cores?

Novamente, vamos abstrair...

IMAGENS

1 bit 2 bits 3 bits

0 00 000

1 01 001

10 010

11 011

100

101

110

111

Page 27: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

IMAGENS

Falei , não

Precisamos outra abstração: sistema RGB

Não é a tôa que a TV vista

BEM de perto é assim:

Page 28: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

IMAGENS

1001 0110

0011 1101

0111 0011

Um pixel

8 bits para VERMELHO

8 bits para VERDE

8 bits para AZUL

Imagem: matriz de pixels

Pixel:

• “átomo” da imagem

• 24 bits

Resolução: dimensões da matriz

Page 29: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

SONS

Como abstrair 1 único bit em um som?

O bit pode significar:• Volume

• Tom (grave, agudo)

• Tempo

E esse bit marcado pode

ser abstraído como

sendo o sinal, + ou -

Page 30: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

O DISCO RÍGIDO

Aqui tem um documento texto

Aqui tem uma imagem

Aqui tem uma planilha

Aqui tem um programa!!!

Page 31: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

O QUE É UM PROGRAMA?

Programa = codificação de algoritmos no computador

O QUE É UM ALGORITMO?

Algoritmo = sequência de instruções/comandos precisos (não necessariamente no computador)

Mais a frente veremos

um exemplo...

Page 32: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

COMO OS PROGRAMAS SÃO EXECUTADOS?

Termo popular: HD, disco rígido Termo popular: Memória RAM Termo popular: Processador

Em computação:

Memória secundária

Em computação:

Memória primária

(ou só Memória)

Em computação:

CPU

HD: mantém arquivos se desligado! RAM: se desligar, “perde a memória”

HD X RAM

HD: lento! RAM: rápida!

Page 33: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

O QUE É UM ALGORITMO?

Algoritmo = sequência de instruções/comandos precisos (não necessariamente executados pelo computador)

EXEMPLO: RECEITA DE BOLO

Page 34: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

FORMATO PADRÃO PARA ALGORITMOS

Formato padrão para escrever algoritmos:

• instruções escritas uma em cada linha

• uma instrução faz somente uma coisa

• instruções executadas uma a uma, da 1ª até a última linha, nesta ordem, a menos que o próprio algoritmo tenha instruções que alterem este comportamento

• tudo o que está implícito deverá ser explicitado

Page 35: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

FORMATO PADRÃO: EXEMPLO

Page 36: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

SENDO MAIS DETALHADO

Page 37: Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que codifica 128 sinais Ideia: 0’s e 1’s enviados ao monitor, são “traduzidas”

DETALHES: ATÉ ONDE IR?

Qual o nível de detalhes necessário?

Cozinheiro experiente: poucos detalhes

Cozinheiro novato: muitos detalhes

Computador: MUITO mais detalhes que o novato!!

Para saber o nível de detalhes do computador, precisamos CONHECER como ele funciona!

Na próxima aula!