numeração e álgebra booleana, programação imperativa - sistemas de [deei]

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. Com estes 10 símbolos somos capazes de construir números tais como 747. O número 747 tem uma sequência de 3 símbolos (ou algarismos), dois dos quais repetidos (dois setes). No entanto, o primeiro 7 tem um valor diferente do segundo 7. O primeiro vale 700 (7 centenas) mas o segundo já só vale 7 (7 unidades). 747 = 700 + 40 + 7 = 7*10 2  + 4*10 1  + 7*10 0  Resumindo, os algarismos tem um valor diferente consoante a sua posição. No sistema decimal, o peso dos algarismos são potências de 10. Todos nós aprendemos isto na escola primária e nada disto é novidade. Estamos tão habituados a lidar com nú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 ensinado apenas os algarismos 0,1,2. Como é que poderíamos escrever os outros números utilizando apenas estes três símbolos?

Upload: fernando-freitas-alves

Post on 09-Jul-2015

30 views

Category:

Documents


0 download

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