Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que...
Transcript of Zeros, uns, algoritmos e programas · LETRAS E SÍMBOLOS Tabela ASCII (1963): código binário que...
![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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/1.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/2.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/3.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/4.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/5.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/6.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/7.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/8.jpg)
![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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/9.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/10.jpg)
![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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/11.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/12.jpg)
![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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/13.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/14.jpg)
![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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/15.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/16.jpg)
![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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/17.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/18.jpg)
![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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/19.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/20.jpg)
![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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/21.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/22.jpg)
![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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/23.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/24.jpg)
![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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/25.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/26.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/27.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/28.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/29.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/30.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/31.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/32.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/33.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/34.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/35.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/36.jpg)
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”](https://reader034.fdocuments.net/reader034/viewer/2022042712/5f8f5954a1c0192288062c75/html5/thumbnails/37.jpg)
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!