numeração e álgebra booleana, programação imperativa - sistemas de [deei]
TRANSCRIPT
5/10/2018 Numeração e álgebra Booleana, Programação Imperativa - Sistemas de [DEEI] - slidepdf.com
http://slidepdf.com/reader/full/numeracao-e-algebra-booleana-programacao-imperativa-sistemas-de-deei 1/6
http://intranet.deei.fct.ualg.pt/PI_flobo
Programação Imperativa
Aula 3
Sumário Sistemas de numeração Codificação de informação Unidades de informação: bits, bytes, kilobytes, megabytes, ... Álgebra de Boole
Sistemas de numeração
O sistema de numeração que nós usamos é o sistema decimal. Este sistema chama-se decimal (ou de base 10) porque utiliza 10 símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Comestes 10 símbolos somos capazes de construir números tais como 747. O número 747tem uma sequência de 3 símbolos (ou algarismos), dois dos quais repetidos (doissetes). No entanto, o primeiro 7 tem um valor diferente do segundo 7. O primeiro vale700 (7 centenas) mas o segundo já só vale 7 (7 unidades).
747 = 700 + 40 + 7 = 7*102 + 4*101 + 7*100
Resumindo, os algarismos tem um valor diferente consoante a sua posição. Nosistema decimal, o peso dos algarismos são potências de 10. Todos nós aprendemosisto na escola primária e nada disto é novidade. Estamos tão habituados a lidar comnúmeros que acabamos por manipulá-los muitas vezes por intuição.
Agora imaginen o seguinte. Faz de conta que na escola primária vos tinham ensinadoapenas os algarismos 0,1,2. Como é que poderíamos escrever os outros númerosutilizando apenas estes três símbolos?
5/10/2018 Numeração e álgebra Booleana, Programação Imperativa - Sistemas de [DEEI] - slidepdf.com
http://slidepdf.com/reader/full/numeracao-e-algebra-booleana-programacao-imperativa-sistemas-de-deei 2/6
http://intranet.deei.fct.ualg.pt/PI_flobo
Antes de o fazer vamos voltar outra vez ao sistema decimal e ver como é quecontamos os números.
0
1
2
3
4
56
7
8
9
10
11
12
.
.
.
19
20
21
.
.
.
99
100
101
.
.
.
Como só temos 10 símbolos, quando um algarismo chega a 9, temos de fazer "0 e vai um..." Se na escola primária só nos tivessem ensinado 3 símbolos (0,1,2) seria amesma coisa: quando o algarismo chegasse a 2 teríamos de fazer "0 e vai um..."
0
1
2
10
11
12
20
21
22
100
101102
110
111
112
120
121
122
200
201
.
.
.
5/10/2018 Numeração e álgebra Booleana, Programação Imperativa - Sistemas de [DEEI] - slidepdf.com
http://slidepdf.com/reader/full/numeracao-e-algebra-booleana-programacao-imperativa-sistemas-de-deei 3/6
http://intranet.deei.fct.ualg.pt/PI_flobo
O conceito é exactamente o mesmo que existe no sistema decimal. Por exemplo, onúmero 121 na base três tem 3 símbolos mas o primeiro 1 tem um valor diferente dosegundo 1. Com um sistema de base 3, o peso dos algarismos são potências de 3.
121 = 1*32 + 2*31 + 1*30
isto é, o número 121 na base 3 corresponde ao número 9+6+1=16 na base 10.
As pessoas usam o sistema decimal mas podiam utilizar outro sistema qualquer. Aliás,antes de se ter inventado os sistemas de numeração, o ser humano usava um sistemade numeração com um só símbolo (contava as coisas com pauzinhos). Oscomputadores utilizam o sistema de numeração binário (tem apenas dois símbolos: 0 e1). De seguida apresenta-se os números de 0 a 20 na base 10, base 3, base 2 e nabase 1.
base 10 base 3 base 2 base 1 (pauzinhos)
0 0 0
1 1 1 |
2 2 10 ||3 10 11 |||
4 11 100 ||||
5 12 101 |||||
6 20 110 ||||||
7 21 111 |||||||
8 22 1000 ||||||||
9 100 1001 |||||||||
10 101 1010 ||||||||||
11 102 1011 |||||||||||
12 110 1100 ||||||||||||
13 111 1101 |||||||||||||
14 112 1110 ||||||||||||||
15 120 1111 |||||||||||||||16 121 10000 ||||||||||||||||
17 122 10001 |||||||||||||||||
18 200 10010 ||||||||||||||||||
19 201 10011 |||||||||||||||||||
20 202 10100 ||||||||||||||||||||
. . . .
. . . .
. . . .
5/10/2018 Numeração e álgebra Booleana, Programação Imperativa - Sistemas de [DEEI] - slidepdf.com
http://slidepdf.com/reader/full/numeracao-e-algebra-booleana-programacao-imperativa-sistemas-de-deei 4/6
http://intranet.deei.fct.ualg.pt/PI_flobo
Codificação de informação
Num computador, a informação é sempre armazenada como uma sequência de dígitosbinários. Como tal, toda a informação tem de ser codificada de alguma maneira numasequência de zeros e uns. Para os números não negativos já vimos como é que issopode ser feito, mas também se pode fazer a mesma coisa para os números negativos,
números reais, caracteres, imagens, e som.Por exemplo, os caracteres ('a','b','c', ...,'A','B','C,...,'+','-','?',...) costumam ser representados internamente nos computadores usando o código ASCII ( AmericanStandard Code for Information Interchange). Cada caracter é codificado usando 8dígitos binários. De seguida, apresenta-se o código de alguns caracteres:
código código
caracter decimal binário
-------- ------- ---------
. . .
. . .
. . .
# 35 00100011
$ 36 00100100
% 37 00100101
& 38 00100110
' 39 00100111
( 40 00101000
) 41 00101001
* 42 00101010
+ 43 00101011
, 44 00101100
- 45 00101101
. 46 00101110
/ 47 001011110 48 00110000
1 49 00110001
2 50 00110010
3 51 00110011
. . .
. . .
. . .
A 65 01000001
B 66 01000010
C 67 01000011
. . .
. . .
. . .a 97 01100001
b 98 01100010
c 99 01100011
. . .
. . .
. . .
O importante a reter é que com uma sequência de N dígitos binários podemosrepresentar 2 elevado a N coisas diferentes. Assim, com 8 dígitos binários podemosrepresentar 28=256 caracteres diferentes.
5/10/2018 Numeração e álgebra Booleana, Programação Imperativa - Sistemas de [DEEI] - slidepdf.com
http://slidepdf.com/reader/full/numeracao-e-algebra-booleana-programacao-imperativa-sistemas-de-deei 5/6
http://intranet.deei.fct.ualg.pt/PI_flobo
Unidades de informação: bits, bytes, kilobytes, megabytes,...
Tal como existem unidades para medir pesos (miligrama, grama, kilograma,...) edistâncias (milímetro, centímetro, decímetro, metro, ...), também existem unidadespara medir informação (bit, byte, kilobyte, megabyte, gigabyte, terabyte, ...).
Um bit é a unidade de informação correspondente a um único dígito binário. Um bytesão 8 bits. Um kilobyte são 210 = 1024 bytes. Um megabyte são 220 bytes(aproximadamente 1 milhão de bytes). Um gigabyte são 230 bytes (aproximadamente 1bilião de bytes). Um terabyte são 240 bytes (aproximadamente 1 trilião de bytes).
Para simplificar, é costume designar kilobyte por Kbyte ou simplesmente KB. O mesmose passa para megabyte (MB) e gigabyte (GB)
Para terem uma ordem de grandeza, uma disquete pode armazenar 1,4 MB e um
disco de um computador que as pessoas tipicamente compram para ter em casa podearmazenar cerca de 6 GB. De agora em diante já não necessitam de ficar assustadosquando ouvirem alguém a falar sobre bits e bytes em conversas de café.
Álgebra de Boole
A programação de computadores requer um domínio completo de operadoreslógicos: conjunção (e), disjunção (ou), negação (não). Os operandos são valoreslógicos (verdadeiro ou falso). Representando 1 como verdadeiro e 0 como falso,
podemos obter as seguintes tabelas de verdade para as funções e, ou e não (em inglês:and, or, not).
| |
x y x e y | x y x ou y | x não x
--- --- ------- | --- --- -------- | --- -------
1 1 1 | 1 1 1 | 1 0
1 0 0 | 1 0 1 | 0 1
0 1 0 | 0 1 1 |
0 0 0 | 0 0 0 |
| |
Estas três funções lógicas também são chamadas de funções booleanas (GeorgeBoole foi um cientista que inventou uma álgebra, chamada álgebra booleana, que temcomo base estas três funções). Com estas 3 funções podemos construir funções maiscomplexas. Exemplo:
f(x,y) = x e (não y)
5/10/2018 Numeração e álgebra Booleana, Programação Imperativa - Sistemas de [DEEI] - slidepdf.com
http://slidepdf.com/reader/full/numeracao-e-algebra-booleana-programacao-imperativa-sistemas-de-deei 6/6
http://intranet.deei.fct.ualg.pt/PI_flobo
A respectiva tabela de verdade é:
x y não y x e (não y)
--- --- ------- -----------
1 1 0 0
1 0 1 1
0 1 0 0
0 0 1 0
O que esta tabela de verdade indica é que (x e (não y)) só é verdade se x for verdadee y for falso. Reparem que x e y são proposições (coisas que podem ter o valor verdadeiro ou falso). Por exemplo, se
x --> o João gosta da Maria
y --> a Ana gosta do Pedro
então
não y --> a Ana não gosta do Pedro
x e (não y) --> o João gosta da Maria e a Ana não gosta do Pedro