25
Computação e Programação 1ª Aula de Problemas 2008-2009 Instituto Superior Técnico, Dep. de Engenharia Mecânica - Sistemas

Computação e Programação - fenix.tecnico.ulisboa.ptP_C... · ... (se possível antes da aula!): Veja o video e o ... elementos e operações que obedecem a um conjunto de axiomas

  • Upload
    lycong

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Computação e Programação

1ª Aula de Problemas

2008-2009

Instituto Superior Técnico,Dep. de Engenharia Mecânica - Sistemas

2Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

O Visual C++

Para Casa (se possível antes da aula!):

Veja o video e o screencast que se encontra na página do Fénix da disciplina, na secção Aulas de Problemas.

3Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

As bases decimal, binária e hexadecimal

O sistema decimal é um sistema de numeração de posicional que utiliza a base dez, ou seja os seguintes dez algarismos: {0,1,2,3,4,5,6,7,8,9}.O sistema é posicional porque, da direita para a esquerda, cada algarismo representa o número de unidades, dezenas, centenas, etc.

NOTA: A numeração romana não é um sistema de numeração posicional ! O sistema binário é um sistema de numeração posicional em que todasas quantidades se representam utilizando como base o número dois, utilizando como dígitos o zero (0) e o um (1).

O sistema hexadecimal é um sistema de numeração posicional que representa os números em base 16, logo utiliza 16 símbolos:{ 0, 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , A , B , C , D, E , F }

4Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

As bases decimal, binária e hexadecimal

Os computadores digitais trabalham internamente com dois níveis de tensão (e.g. 0 / 5 Volts), pelo que o seu sistema de numeração natural éo sistema binário.

A electrónica digital e a computação em geral, está baseada no sistemabinário, o qual permite representar por circuitos electrónicos digitais(portas lógicas) os números, caractéres, realizar operações lógicas e aritméticas.

Os programas de computadores são codificados sob forma binária e armazenados nesse formato na memória volátil, nos discos rigídos, etc.

5Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

As bases decimal, binária e hexadecimal

base decimal

( ) 3 2 1 010

5842 5 10 8 10 4 10 2 10= × + × + × + ×

base binária

( ) ( )3 2 1 02 10

1001 1 2 0 2 0 2 1 2 9= × + × + × + × =

conversãobase decimal

base hexadecimal

( ) ( )3 2 1 016 10

4FA1 4 16 15 16 10 16 1 16 20385= × + × + × + × =

conversãobase decimal

6Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

As bases decimal, binária e hexadecimalConversão de um decimal inteiro num binário ( ) ( )10 2

187 ?=

Bit menos significativo

( ) ( ) 7 6 5 4 4 3 1 010 2

187 10111011 1 2 0 2 1 2 1 2 1 2 0 2 1 2 1 2= = × + × + × + × + × + × + × + ×

dividendo divisor quociente resto

187 2 93 193 2 46 146 2 23 023 2 11 111 2 5 15 2 2 12 2 1 01 2 0 1 Bit mais significativo

7Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

As bases decimal, binária e hexadecimal

( ) ( )10 161984 ?=Conversão de um decimal inteiro num hexadecimal

Dígito menos significativo

dividendo divisor quociente resto

1984 16 124 0124 16 7 12 C7 16 0 7

⇒Dígito mais significativo

( ) ( ) 2 1 010 16

1984 7C0 7 16 12 16 0 16= = × + × + ×

8Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

As bases decimal, binária e hexadecimal

( ) ( )16 2D5AF ?=Conversão de um hexadecimal num binário

Notar que cada dígito na base hexadecimalpode ser convertido em 4 dígitos na base binária (nota: 24=16)

( ) ( ) 3 2 1 016 2

D5AF 1101 0101 1010 1111 13 16 5 16 10 16 15 16= = × + × + × + ×

( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )

16 10 2

16 10 2

16 10 2

16 10 2

D 13 1101

5 5 0101

A 10 1010

F 15 1111

→ →

→ →

→ →

→ →

Nibble mais significativo

Nibble menos significativo

Byte mais sign. Byte menos sign.

9Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

As bases decimal, binária e hexadecimalConversão de um binário num hexadecimal ( ) ( )2 16

0110 1110 ?=Notar que cada 4 dígitos na base binária podem ser convertidos num dígito na base hexadecimal (nota: 24=16).

Caso o número binário não possua um número de dígitos múltiplo de 4, deve-se adicionar zeros à esquerda até que tal aconteça.

( ) ( ) ( )( ) ( ) ( )

2 10 16

2 10 16

0110 6 6

1110 14 E

→ →

→ →

Nibble mais significativo

Nibble menos significativo

( ) ( ) ( )1 02 16 10

0110 1110 6E 6 16 14 16 110= = × + × =

10Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Aritmética binária

( ) ( ) ( )2 2 20110 0011 ?+ =Adição

0110+ 0011----------- 1001 0110 transporte ("e vai um")

soma←←

( ) ( ) ( )10 10 106 3 9+ =

11Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Aritmética binária

( ) ( ) ( )2 2 2101 011 ?− =Subtracção

101- 011----------- 010 010 transporte ("e vai um")

subtracçao←←

( ) ( ) ( )10 10 105 3 2− =

12Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Aritmética bináriaMultiplicação e Divisão

A multiplicação e a divisão binária são semelhantes às mesmas operações na base decimal.

Faça, em casa, os seguintes exercícios:

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( )

2 2 2 16 10

2 2 2 16 10

010111 11 ? ? ?

010110 10 ? ? ?

× = = =

÷ = = =

13Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

A algebra de Boole

A algebra de Boole é uma estrutura algébrica, i.e., é uma colecção de elementos e operações que obedecem a um conjunto de axiomas e propriedades.

Em particular a algebra Booleana é um conjunto composto por:

•duas operações binárias: (a conjunção e disjunção, também denominadas por E e OU, ou por . e +),

•uma operação unária (a negação, também representada por ~, ou por um traço horizontal sobre uma expressão lógica),

•e dois elementos (o 0 e o 1, também denominados por FALSO e VERDADE, ou F e V),

tal que para todos os elementos pertencentes ao conjunto os seguintes axiomas e propriedades se verifiquem:

14Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

A algebra de Boole

15Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Tabelas de verdade e portas lógicas

X=~A X=~(A.B) X=~(A+B) X=A.B X=A+B

16Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Tabelas de verdade e portas lógicas

17Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Tabelas de verdade e portas lógicas

X=A B⊕X

OU-EXCLUSIVO

ou

XOR

A B⊕

X

18Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Tabelas de verdade e portas lógicas

19Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Tabelas de verdade e portas lógicas

Para casa:

Determine a saída do

circuito da alinea b)

20Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Um chip com 4 portas NAND

21Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Um circuito multiplexer com 8 entradas

Para casa:

Construa a tabela de verdade

relativa ao circuito e

determine o objectivo do

circuito.

22Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Um circuito decoder 3-8

Para casa:

Construa a tabela de verdade

relativa ao circuito e

determine o objectivo do

circuito.

23Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Circuito comparador de 4 bits

Para casa:

Construa a tabela de verdade

relativa ao circuito e

determine o objectivo do

circuito.

24Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Circuito de um meio-somadorPara casa:

Preencha a tabela de verdade relativa ao circuito.

25Miguel Miguel Pedro SilvaPedro Silva ComputaComputaçção e Programaão e Programaçção 2008 / 2009ão 2008 / 2009 ProblemasProblemas

Circuito de um somador completoPara casa:

Preencha a tabela de verdade relativa ao circuito.