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.