COMPUTA
COMPUTA
Ç
Ç
ÃO I
ÃO I
Prof. Fernando L. B. Ribeiro
Prof. Fernando L. B. Ribeiro
TECNOLOGIA QUE PRECEDEU OS COMPUTADORES
TECNOLOGIA QUE PRECEDEU OS COMPUTADORES
DIGITAIS
DIGITAIS
ÁBACO CHINÊS
Á
BACO CHINÊS
-
-
O Á
O
Ábaco Chinês, criado no s
baco Chinês, criado no sé
éculo XIV e ainda
culo XIV e ainda
hoje utilizado,
hoje utilizado, é
é
um dispositivo manual para ADIÇ
um dispositivo manual para ADI
ÇÃO,
ÃO,
SUBTRA
SUBTRAÇ
ÇÃO, MULTIPLICA
ÃO, MULTIPLICAÇ
ÇÃO e DIVISÃO.
ÃO e DIVISÃO.
http://qi
M
M
á
á
quina de Diferen
quina de Diferen
ç
ç
as
as
-
-
A M
A M
á
á
quina de Diferen
quina de Diferen
ç
ç
as foi inventada
as foi inventada
pelo matem
pelo matemá
ático britânico Charles Babbage (1823) . Trata
tico britânico Charles Babbage (1823) . Trata-
-se de
se de
um dispositivo operado a manivela para calcular logaritmos e
um dispositivo operado a manivela para calcular logaritmos e
fun
Calculadoras Mecânicas
Calculadoras Mecânicas
-
-
As Calculadoras Mecânicas foram
As Calculadoras Mecânicas foram
criadas no final do s
PRIMEIRO COMPUTADOR ELETRÔNICO DIGITAL
PRIMEIRO COMPUTADOR ELETRÔNICO DIGITAL
Batizado de
Batizado de
ENIAC
ENIAC
(
(
electronic
electronic
numerical
numerical
integrator
integrator
and
and
computer
computer), o primeiro computador foi constru
), o primeiro computador foi construí
ído nos Estados
do nos Estados
Unidos em 1945 (
Unidos em 1945 (
University
University
of
of
Pennsylvania
Pennsylvania
) para c
) para c
á
á
lculos
lculos
bal
O ENIAC possu
O ENIAC possu
í
í
a 19.000 v
a 19.000 v
á
á
lvulas e pesava 19 toneladas. Os
lvulas e pesava 19 toneladas. Os
principais componentes do ENIAC eram:
principais componentes do ENIAC eram:
•
• Acumulador (unidade aritmAcumulador (unidade aritméética)tica) •
• Tabela de funTabela de funççõesões •
• Unidade Unidade programadoraprogramadora (para armazenar as instru(para armazenar as instruçções)ões) •
• Capacidade de armazenar 20 nCapacidade de armazenar 20 núúmeros de 10 dmeros de 10 díígitosgitos •
• 1 ciclo por cada 101 ciclo por cada 10--5 s = 100 5 s = 100 KHzKHz = 0.0001 GHz= 0.0001 GHz •
• Leitora de cartõesLeitora de cartões •
1945 –
1945
–
ENIAC.
ENIAC.
1947/48
194
7/48 –
–
Invenç
Inven
ção
ão
do transistor.
do transistor.
1951
1951
-
-
UNIVAC, primeiro
UNIVAC,
primeiro
computador
computador
comercial
comercial
.
.
1953 -
1953
-
IBM 701 EDPM, primeiro
IBM 701 EDPM,
primeiro
computador
computador
IBM.
IBM.
1954 –
1954
–
FORTRAN (Formula Translator), primeira
FORTRAN (Formula Translator),
primeira
linguagem
linguagem
de
de
programa
programaç
ção
ão
de alto
de alto
ní
n
í
vel.
vel
.
1955 –
1955
–
ERMA, primeiro
ERMA,
primeiro
computador
computador
desenvolvido
desenvolvido
para
para
sistemas
sistemas
banc
bancá
ários
rios
(Bank of America).
(Bank of America).
CRONOLOGIA
1958
1958
–
–
Inven
Inven
ç
ç
ão
ão
do
do
“
“
circuito
circuito
integrado
integrado
”
”
(CHIP).
(CHIP).
1962 –
1962
–
SPACEWAR, primeiro
SPACEWAR,
primeiro
“game
“
game”
”
para
para
computadores.
computadores
.
1964 –
1964
–
Primeira
Primeira
interface
interface
gr
gr
áfica
á
fica
com “
com
“janelas
janelas”
”,
, primeiro
primeiro
mouse.
mouse.
1969 –
1969
–
ARPANET, a internet original, desenvolvida
ARPANET, a internet original,
desenvolvida
para
para
fins
fins
militares
militares.
.
1971 –
1971
–
Intel 4004, primeiro
Intel 4004,
primeiro
microprocessador.
microprocessador
.
1976/77 –
1976/77
–
Apple I, II e TRS-
Apple I, II e TRS
-
80,
80,
primeiros
primeiros
computadores
computadores
dom
domé
ésticos
sticos.
.
1978 –
1978
–
VisiCalc, primeira
VisiCalc,
primeira
planilha
planilha
eletrônica
eletrônica
(software).
(software).
1979 –
1979
–
WORDSTAR, um dos primeiros
WORDSTAR, um dos
primeiros
editores
editores
de texto
de
texto.
.
1981 –
1981
–
Primeiro
Primeiro
IBM-
IBM
-PC,
PC, come
começ
ç
a
a
a era dos PC’
a era dos PC
’s.
s.
1981 –
1981
–
MS-
MS
-
DOS, sistema
DOS,
sistema
operacional
operacional
da
da
Microsoft.
Microsoft.
1984 –
1984
–
Apple Macintosh, com interface gr
Apple Macintosh, com interface
grá
áfica
fica
(GUI).
(GUI).
AQUITETURA DE VON NEUMANN
AQUITETURA DE VON NEUMANN
Johann
Johann
von
von
Neumann (1907-
Neumann (1907
-
1957), matemá
1957), matem
ático h
tico hú
úngaro,
ngaro,
estabeleceu em 1945 os princ
estabeleceu em 1945 os princí
ípios de opera
pios de operaç
ção de um
ão de um
computador eletrônico digital. Estes princ
computador eletrônico digital. Estes princí
ípios ficaram conhecidos
pios ficaram conhecidos
como arquitetura de Von Neumann e são ainda hoje as bases de
como arquitetura de Von Neumann e são ainda hoje as bases de
opera
operaç
ção dos computadores mais modernos. A Arquitetura de Von
ão dos computadores mais modernos. A Arquitetura de Von
Neumann baseia
Neumann baseia
-
-
se em três componentes principais:
se em três componentes principais:
•
• MemMemóóriaria •
• Unidade de ControleUnidade de Controle •
• Unidade de ProcessamentoUnidade de Processamento
Na memó
Na mem
ória são armazenados dados e programas (conjunto de
ria são armazenados dados e programas (conjunto de
instru
instruç
ções) que realizam determinados c
ões) que realizam determinados cá
álculos ou tarefas.
lculos ou tarefas.
A Unidade de Controle
A Unidade de Controle
é
é
um circuito l
um circuito l
ó
ó
gico respons
gico respons
á
á
vel pelo
vel pelo
funcionamento da m
funcionamento da má
áquina, controlando o fluxo de instru
quina, controlando o fluxo de instruç
ç
ões.
ões.
Este funcionamento realiza
A unidade de processamento realiza os c
A unidade de processamento realiza os c
á
á
lculos de acordo com as
lculos de acordo com as
instru
instruç
ções. Esta unidade conte basicamente registradores e uma
ões. Esta unidade conte basicamente registradores e uma
Unidade L
Unidade Ló
ógico
gico
-
-
Aritmé
Aritm
ética (ALU), onde são executadas as
tica (ALU), onde são executadas as
opera
operaç
ções aritm
ões aritmé
éticas. Os registradores são:
ticas. Os registradores são:
•
• Registrador IC (InstructionRegistrador IC (Instruction CounterCounter) ) -- contcontéém o enderem o endereçço na memo na memóória ria com a pr
com a próóxima instruxima instruçção a ser executada.ão a ser executada. •
• Registrador IR (InstuctionRegistrador IR (Instuction RegisterRegister) ) -- contcontéém a prm a próóxima instruxima instruçção a ão a ser executada.
ser executada.
•
• Registrador MAR (MemoryRegistrador MAR (Memory AddressAddress RegisterRegister)) -- contcontéém o enderem o endereçço da o da posi
posiçção da memão da memóória a ser lida ou escrita.ria a ser lida ou escrita. •
• Registrador MBR (MemoryRegistrador MBR (Memory Buffer Buffer RegisterRegister)) -- contcontéém o dado a ser lido m o dado a ser lido ou escrito na mem
ou escrito na memóória.ria. •
• Registradores de propRegistradores de propóósito geral sito geral –– usados para armazenar resultados usados para armazenar resultados intermedi
Arquitetura
Arquitetura
de Von Neumann
de Von Neumann
•
• Registrador IC (Registrador IC (InstructionInstruction Counter
Counter) ) -- contcontéém o enderem o endereçço o na mem
na memóória com a prria com a próóxima xima instru
instruçção a ser executada.ão a ser executada. •
• Registrador IR (Registrador IR (InstuctionInstuction Register
Register) ) -- contcontéém a prm a próóxima xima instru
instruçção a ser executada.ão a ser executada. •
• Registrador MAR (Registrador MAR (MemoryMemory Address
Address RegisterRegister)) -- contcontéém o m o endere
endereçço da posio da posiçção da ão da mem
memóória a ser lida ou escrita.ria a ser lida ou escrita. •
• Registrador MBR (Registrador MBR (MemoryMemory Buffer
Buffer RegisterRegister)) -- contcontéém o m o dado a ser lido ou escrito na
dado a ser lido ou escrito na
mem
memóória.ria. •
• Registradores de propRegistradores de propóósito sito geral
geral –– usados para usados para armazenar resultados
armazenar resultados
intermedi
intermediáários.rios. Memória Unidade de Controle MAR MBR IR IC Registrador A Registrador B Registrador C ALU
Arquitetura
Arquitetura de Von Neumannde Von Neumann
A principal caracter
A principal caracteríística da arquitetura stica da arquitetura de Von Neumann
de Von Neumann ééque o processamento que o processamento é
é feito de forma seqfeito de forma seqüüencial (atravencial (atravéés do s do incremento do IC), sendo que fluxo de incremento do IC), sendo que fluxo de instru
instruçções pode ter desvios condicionais ões pode ter desvios condicionais ou condicionais. Esta arquitetura persiste ou condicionais. Esta arquitetura persiste at
atéé hoje, mesmo nos computadores mais hoje, mesmo nos computadores mais modernos.
modernos.
Em cada ciclo do funcionamento da m
Em cada ciclo do funcionamento da mááquina, as quina, as seguintes opera
seguintes operaçções são executadas:ões são executadas: 1.
1. Transferência do conteTransferência do conteúúdo do IC para o do do IC para o
MAR.
MAR.
2.
2. Busca da prBusca da próóxima instruxima instruçção e sua ão e sua
transferência para MBR.
transferência para MBR.
3.
3. Transferência do conteTransferência do conteúúdo do MBR para o IR do do MBR para o IR
(
(instructioninstruction fetchfetch).). 4.
4. DecodificaDecodificaçção da instruão da instruçção pelo circuito ão pelo circuito
l
lóógico da unidade de controle.gico da unidade de controle. 5.
5. ExecuExecuçção da operaão da operaçção:ão: •
• OperaOperaçção aritmão aritméética tica –– neste caso, a ALU opera neste caso, a ALU opera sobre n
sobre núúmeros armazenados em dois ou mais meros armazenados em dois ou mais registradores espec
registradores especííficos para o tipo de ficos para o tipo de opera
operaçção.ão. •
• Leitura ou gravaLeitura ou gravaçção de um dado na memão de um dado na memóória ria –– se a instru
se a instruçção for de leitura, o endereão for de leitura, o endereçço do o do operando, contido no IR,
operando, contido no IR, éétransferido para o transferido para o MAR e o valor lido
MAR e o valor lido éé transferido para o MBR e transferido para o MBR e da
daíí para um registrador apropriado para a para um registrador apropriado para a opera
operaçção. Se a instruão. Se a instruçção for de gravaão for de gravaçção na ão na mem
memóória (por exemplo, um resultado de uma ria (por exemplo, um resultado de uma opera
operaçção), o dado ão), o dado éé transferido de um transferido de um registrador para o MBR, com seu endere
registrador para o MBR, com seu endereçço na o na mem
memóória em MAR.ria em MAR.
6.
6. Fim do ciclo e retorna para (1).Fim do ciclo e retorna para (1). Memória Unidade de Controle MAR MBR IR IC Registrador A Registrador B Registrador C ALU
ARQUITETURA GEN
ARQUITETURA GEN
É
É
RICA DE UM COMPUTADOR
RICA DE UM COMPUTADOR
Os computadores modernos são ainda construOs computadores modernos são ainda construíídos com base na arquitetura de Von dos com base na arquitetura de Von
Neumann. No entanto, os componentes eletrônicos são hoje bem men
Neumann. No entanto, os componentes eletrônicos são hoje bem menores, e o ciclo ores, e o ciclo da m
da mááquina quina éé da ordem de mil vezes mais rda ordem de mil vezes mais ráápido do que os computadores dos anos pido do que os computadores dos anos 70.
70. GordonGordon MooreMoore, um dos fundadores da Intel, observou em 1965 que o n, um dos fundadores da Intel, observou em 1965 que o núúmero de mero de transistores de um circuito integrado (CHIP) dobrava a cada ano,
transistores de um circuito integrado (CHIP) dobrava a cada ano, desde que o desde que o circuito integrado tinha sido inventado nos anos 50. Anos mais t
circuito integrado tinha sido inventado nos anos 50. Anos mais tarde, no inarde, no iníício da cio da d
déécada de 80, observoucada de 80, observou--se tambse tambéém que a densidade de dados dobrava a cada 18 m que a densidade de dados dobrava a cada 18 meses, o que ficou conhecido como Lei de
meses, o que ficou conhecido como Lei de MooreMoore..
Os principais componentes de um computador são:Os principais componentes de um computador são: •
• MemMemóória Principal ria Principal –– A memA memóória principal ria principal éé do tipo RAM (do tipo RAM (RandomRandom accessaccess MemoryMemory), constru), construíída da com materiais semicondutores onde os dados são armazenados de fo
com materiais semicondutores onde os dados são armazenados de forma binrma bináária atravria atravéés de s de circuitos l
circuitos lóógicos gicos bibi--estestááveisveis, que podem representar os estados LIGADO ou DESLIGADO , que podem representar os estados LIGADO ou DESLIGADO (ZERO ou UM).
(ZERO ou UM). •
• CPU CPU –– A CPU A CPU éé o processador da mo processador da mááquina, e contquina, e contéém uma unidade de controle, uma unidade m uma unidade de controle, uma unidade aritm
aritméética, registradores, e memtica, registradores, e memóórias auxiliares para armazenar temporariamente os dados rias auxiliares para armazenar temporariamente os dados lidos/escritos na mem
lidos/escritos na memóória RAM (memria RAM (memóória ria cachecache).). •
• BIOS (BIOS (BinaryBinary I/O I/O SystemSystem) ) –– MemMemóória do tipo ROM (ria do tipo ROM (ReadRead OnlyOnly MemoryMemory) ou PROM (mem) ou PROM (memóória ria ROM alter
ROM alteráável) onde são armazenados um vel) onde são armazenados um comjuntocomjunto de instrude instruçções que ões que inicializaminicializam a ma mááquina e quina e que permitem que o usu
que permitem que o usuáário instale um sistema operacional.rio instale um sistema operacional. •
• MemMemóória auxiliar ria auxiliar -- HardHard Disk (HD), meio magnDisk (HD), meio magnéético de armazenamento de dados.tico de armazenamento de dados. •
• Dispositivos de entrada e saDispositivos de entrada e saíída da –– Os principais Os principais dispositivivosdispositivivosde de dede entrada e saentrada e saíída são o da são o teclado, o mouse, e o monitor de v
CPU
Unidade de
Controle
Unidade Lógico
Aritmética
Memória
R
AM
Bios
Periférico
Periférico
Interface
Interface
SISTEMAS DE REPRESENTA
SISTEMAS DE REPRESENTA
Ç
Ç
ÃO DE N
ÃO DE N
Ú
Ú
MEROS
MEROS
Representa
Representa-
-
se um nú
se um n
úmero inteiro N, na base
mero inteiro N, na base β
β,
,
pela expressão
pela expressão
ou equivalentemente,
ou equivalentemente,
Os n
Os n
úmeros reais são compostos por uma parte inteira e uma parte
ú
meros reais são compostos por uma parte inteira e uma parte
fracion
fracioná
ária:
ria:
a
a
ii,
,
b
b
jj–
–
dí
d
ígitos da base
gitos da base β
β
0 0 1 1 1 1
β
+
...
+
β
+
β
+
β
=
− −a
a
a
a
N
n n n n(
−)
β=
a
,
a
1,
...
,
a
1,
a
0N
n n(
0
<
<
1
)
+
=
R
IR
FR
FR
k k Fb
b
b
R
=
1β
−1+
2β
−2+
...
+
β
−
Sistema
Sistema
Decimal
Decimal
No sistema decimal,
No sistema decimal, β
β
= 10 e
= 10 e
a
a
iie
e
b
b
jjassumem os valores inteiros
assumem os valores inteiros
correspondentes aos 10 d
correspondentes aos 10 dí
í
gitos:
gitos:
a
a
ii,
,
b
b
jj= (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
=
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
Exemplos
Exemplos
:
:
(347)
(347)
1010= 3 x 10
= 3 x 10
22+ 4 x 10
+ 4 x 10
11+ 7 x 10
+ 7 x 10
00(0.25)
(0.25)
1010= 2 x 10
= 2 x 10
--11+ 5 x 10
+ 5 x 10
--22(1.823)
(1.823)
1010= 1 x 10
= 1 x 10
00+ 8 x 10
+ 8 x 10
--11+ 2 x 10
+ 2 x 10
--22+3 x 10
+3 x 10
--33
Sistema
Sistema
Biná
Bin
ário
rio
No sistema bin
No sistema bin
ário,
á
rio, β
β
= 2 e
= 2 e
a
a
iie
e
b
b
jjassumem os valores 0 e 1.
assumem os valores 0 e 1.
O termo
O termo
bit
bit
tem como origem a abreviatura de (b)inary
tem como origem a abreviatura de (b)
inary
dig
dig
(it).
(it).
Exemplos
Exemplos
:
:
10 0 1 21
2
1
2
(
3
)
)
11
(
=
×
+
×
=
10 0 1 2 21
2
1
2
1
2
(
7
)
)
111
(
=
×
+
×
+
×
=
10 0 1 2 21
2
0
2
1
2
(
5
)
)
101
(
=
×
+
×
+
×
=
10 0 1 2 3 4 21
2
0
2
1
2
1
2
1
2
(
23
)
)
10111
(
=
×
+
×
+
×
+
×
+
×
=
Observaç
Observa
ç
ão
ão
: Assim como a multiplicaç
: Assim como a multiplica
ç
ão por 10 no sistema
ão por 10 no sistema
decimal, a multiplica
decimal, a multiplicaç
ção por 2 no sistema bin
ão por 2 no sistema biná
ário corresponde
rio corresponde à
à
“
“adi
adiç
ç
ão”
ão
”
de um zero à
de um zero
à
direita do nú
direita do n
úmero.
mero.
10 0 1 2
1
2
0
2
(
2
)
)
10
(
=
×
+
×
=
10 0 1 2 2 1 2 0 2 0 2 (4) ) 100 ( = × + × + × = 10 0 1 2 3 21
2
0
2
0
2
0
2
(
8
)
)
1000
(
=
×
+
×
+
×
+
×
=
10 0 1 2 3 4 21
2
0
2
0
2
0
2
0
2
(
16
)
)
10000
(
=
×
+
×
+
×
+
×
+
×
=
10 1 0 2 0 2 1 2 (0.5) ) 1 . 0 ( = × + × − = 10 2 1 0 20
2
0
2
1
2
(
0
.
25
)
)
01
.
0
(
=
×
+
×
−+
×
−=
10 3 2 1 0 2 0 2 0 2 0 2 1 2 (0.125) ) 001 . 0 ( = × + × − + × − + × − = 10 2 1 0 2 1 2 1 2 1 2 (1.75) ) 11 . 1 ( = × + × − + × − = 10 1 0 1 21
2
1
2
1
2
(
2
.
5
)
)
1
.
11
(
=
×
+
×
+
×
−=
Sistema
Sistema
Hexadecimal
Hexadecimal
No sistema hexadecimal,
No sistema hexadecimal, β
β
= 16,
= 16,
ai
ai
e
e
bj
bj
os valores inteiros
os valores inteiros
correspondentes aos 16 d
correspondentes aos 16 d
ígitos:
í
gitos:
ai
ai
,
,
bj
bj
= (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)
=
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)
Como no sistema hexadecimal são necess
Como no sistema hexadecimal são necessá
ários 16 algarismos para
rios 16 algarismos para
representar um n
representar um nú
úmero nessa base e a base decimal s
mero nessa base e a base decimal só
ó
possui dez,
possui dez,
torna
torna-
-
se necessá
se necess
ário recorrer
rio recorrer à
às letras A, B, C, D, E, F, o que não
s letras A, B, C, D, E, F, o que não é
é
obrigat
obrigat
ó
ó
rio, pode
rio, pode
-
-
se utilizar outros s
se utilizar outros s
í
í
mbolos.
mbolos.
Exemplos
Exemplos
:
:
10 0 1 2 161
16
2
16
C
16
(
300
)
)
C
12
(
=
×
+
×
+
×
=
10 0 1 16B
16
F
16
(
191
)
)
BF
(
=
×
+
×
=
Conversão
Conversão
de n
de
nú
úmeros
meros
inteiros, do
inteiros
, do sistema
sistema
decimal para
decimal
para
o
o
sistema
sistema
biná
bin
ário
rio
Como foi visto anteriormente, para converter um n
Como foi visto anteriormente, para converter um núúmero do sistema mero do sistema bin
bináário para o sistema decimal basta efetuar as operario para o sistema decimal basta efetuar as operaçções de ões de multiplica
multiplicaçção e adião e adiçção da representaão da representaçção binão bináária no sistema decimal. Para ria no sistema decimal. Para converter um n
converter um núúmero do sistema decimal para o sistema o sistema binmero do sistema decimal para o sistema o sistema bináário rio deve
deve--se empregar o procedimento inverso. Por exemplo, o nse empregar o procedimento inverso. Por exemplo, o núúmero 417 no mero 417 no sistema decimal tem como representa
sistema decimal tem como representaçção binão bináária:ria:
Dividindo os dois lados da igualdade acima obt
Dividindo os dois lados da igualdade acima obtéémm--se:se:
⇒ ⇒ 0 0 1 1 1 1 10
1
2
2
...
2
2
)
417
(
=
×
n+
a
n−×
n−+
+
a
×
+
a
×
1 0 0 1 2 1 1 2 2 ... 2 2 1 2 417 − − − − + × + + × + × × = n an n a a 2 a 208 2 417 0 + =a
0=
1
Dividindo por 2 sucessivamente:
Dividindo por 2 sucessivamente:
1 1 2 1 1 10
1
2
2
...
2
)
208
(
=
×
n−+
a
n−×
n−+
+
a
×
a a88 = 1= 1 0 0 1 1 a a77 = 1= 1 1 1 3 3 a a66 = 0= 0 3 3 6 6 a a55 = 1= 1 6 6 13 13 a a11 = 0= 0 104 104 208 208 a a22 = 0= 0 52 52 104 104 0 0 0 0 a a44 = 0= 0 13 13 26 26 a a33 = 0= 0 26 26 52 52 a a00 = 1= 1 208 208 417 417 resto resto x/2 x/2 x x 2 10 (110100001 ) ) 417 ( =O
O procedimentoprocedimento inversoinverso seriaseria::
3
a
2
a
8×
+
7=
6
a
2
3
×
+
6=
13
a
2
6
×
+
5=
26 a 2 13× + 4 =52
a
2
26
×
+
3=
104 a 2 52× + 2 = 208 a 2 104× + 1 = 417 a 2 208× + 0 =
Conversão
Conversão
de n
de
nú
úmeros
meros
fracion
fracion
ários
á
rios
, do , do sistemasistema decimal decimal parapara o osistema
sistema binbinááriorio
Seja o problema de converter o n
Seja o problema de converter o núúmero fracionmero fracionáário .762 do sistema decimal para o rio .762 do sistema decimal para o sistema bin
sistema bináário:rio:
Multiplicando por 2: Multiplicando por 2: ⇒ ⇒
....
...
2
2
)
762
(.
10=
a
1×
−1+
a
2×
−2+
...
2
2
524
.
1
=
a
1×
0+
a
2×
−1+
a
1=
1
0.536 0.536 a a77 = 1= 1 1.536 1.536 0.768 0.768 a a66 = 0= 0 0.768 0.768 0.384 0.384 a a22 = 1= 1 1.048 1.048 0.524 0.524 a a33 = 0= 0 0.096 0.096 0.048 0.048 a a55 = 0= 0 0.384 0.384 0.192 0.192 a a44 = 0= 0 0.192 0.192 0.096 0.096 a a11 = 1= 1 1.524 1.524 0.762 0.762 2x 2x x x
Multiplicando sucessivamente por 2 a parte fracion
Multiplicando sucessivamente por 2 a parte fracionáária:ria:
2 10
(
0
.
110
000
1
...)
)
762
.
0
(
=
Como podeComo pode--se observar neste exemplo, um nse observar neste exemplo, um núúmero fracionmero fracionáário com rio com representa
representaçção finita de dão finita de díígitos no sistema decimal pode ter uma representagitos no sistema decimal pode ter uma representaçção ão infinita no sistema bin
Exemplos: Exemplos: .... ... 2 a 2 a ) 5 (. 10 = 1 × −1 + 2 × −2 + a a22 = 0= 0 0.0 0.0 0.0 0.0 a a11 = 1= 1 1.0 1.0 0.5 0.5 2x 2x x x 2 10
(
0
.
1
)
)
5
(.
=
a a44 = 0= 0 0.0 0.0 0.0 0.0 a a22 = 0= 0 0.50 0.50 0.25 0.25 a a33 = 1= 1 1.0 1.0 0.5 0.5 a a11 = 0= 0 0.25 0.25 0.125 0.125 2x 2x x x
....
...
2
a
2
a
)
125
(.
10=
1×
−1+
2×
−2+
2 10(
0
.
001
)
)
125
(.
=
....
...
2
2
)
1
(.
10=
a
1×
−1+
a
2×
−2+
0.4 0.4 0.2 0.2 a a99 = 1= 1 1.2 1.2 0.6 0.6 a a88 = 1= 1 1.6 1.6 0.8 0.8 a a77 = 0= 0 0.8 0.8 0.4 0.4 a a66 = 0= 0 0.4 0.4 0.2 0.2 a a22 = 0= 0 0.4 0.4 0.2 0.2 a a33 = 0= 0 0.8 0.8 0.4 0.4 a a55 = 1= 1 1.2 1.2 0.6 0.6 a a44 = 1= 1 1.6 1.6 0.8 0.8 a a11 = 0= 0 0.2 0.2 0.1 0.1 2x 2x x x 2 10(
0
.
000110011
...)
)
1
(.
=
Aritm
Aritm
é
é
tica
tica
no
no
sistema
sistema
bin
bin
á
á
rio
rio
AdiAdiçção :ão : A adiA adiçção em binão em bináário rio éé efetuada exatamente como a adiefetuada exatamente como a adiçção em decimal. A ão em decimal. A tabela completa para a adi
tabela completa para a adiçção em binão em bináário rio éé a seguinte:a seguinte: 0 + 0 = 0 0 + 0 = 0 0 + 1 = 1 0 + 1 = 1 1 + 0 = 1 1 + 0 = 1 1 + 1 = 0 mais
1 + 1 = 0 mais ““vai umvai um”” Exemplos :
Exemplos :
Decimal Bin
Decimal Bináário Decimal Binrio Decimal Binááriorio 5 5 101 15 1111101 15 1111 + 6 + 6 + 110+ 110 + 20+ 20 + + 1010010100
11 1011 35
11 1011 35
100011100011 Com o
SubtraSubtraçção:ão: A subtra
A subtraçção, por sua ão, por sua vez,vez, éé a operaa operaçção inversa da adião inversa da adiçção:ão: 0 0 -- 0 = 0 0 = 0 1 1 -- 0 = 10 = 1 1 1 -- 1 = 01 = 0 0
0 -- 1 = 1 com o empr1 = 1 com o emprééstimo de umstimo de um Exemplos :
Exemplos :
Decimal Bin
Decimal Bináário Decimal Binrio Decimal Binááriorio 9 1001 16 9 1001 16 10000 10000 -- 55 -- 101101 -- 33 -- 1111 4 100 13 4 100 13 11011101
MultiplicaMultiplicaçção :ão :A tabela para multiplica
A tabela para multiplicaçção em binão em bináário rio éé muito pequena, com apenas 4 regras:muito pequena, com apenas 4 regras: 0 X 0 = 0 0 X 0 = 0 1 X 0 = 0 1 X 0 = 0 0 x 1 = 0 0 x 1 = 0 1 x 1 = 1 1 x 1 = 1 Exemplos: Exemplos: Decimal Bin
Decimal Binááriorio
120
10
12
×
1111000
1100
0000
1100
0000
1010
1100
×
Divisão :Divisão :
A divisão em bin
A divisão em bináário rio éé muito simples. Como no sistema decimal (ou em qualquer muito simples. Como no sistema decimal (ou em qualquer outro), a divisão por zero não tem significado.
outro), a divisão por zero não tem significado.
0 / 1 = 0
0 / 1 = 0
1
1
/
/
1 = 1
1 = 1
Exemplos: Exemplos: DecimalDecimal BinBinááriorio
100
00
110
11000
110
4
24
6
AritmAritmééticatica de de PontoPonto FlutuanteFlutuante
Em aritm
Em aritméética de ponto flutuante, um ntica de ponto flutuante, um núúmero real mero real éé representado na representado na forma:
forma:
onde (.d
onde (.d11 dd22 ... d... dtt) ) éé a mantissa de t da mantissa de t díígitos na base gitos na base ββ, e , e ∈∈ (m, M) (m, M) éé o o expoente da base. Em geral, m =
expoente da base. Em geral, m = --M.M.
e t 2 1
d
...
d
)
d
(.
x
=
±
×
β
.100x10 .100x10--33 .100x10 .100x10--33 0.0001 0.0001 = = .718x10 .718x1066 (overflow)(overflow) 718235.82 718235.82 = = .700x10 .700x10--5 5 (underflow)(underflow) 0.000007 0.000007 .271x10 .271x1011 .271x10 .271x1011 2.7128 2.7128 --.238x10.238x1033 --.238x10.238x1033 --238.15238.15 .101x10 .101x1022 .100x10 .100x1022 10.053 10.053 .125x10 .125x1011 .125x10 .125x1011 1.25 1.25 Representa
Representaççãoão porpor arredondamentoarredondamento Representa
Representaççãoão porpor truncamentotruncamento x
x
Exemplos, com t = 3,
AlgoritmosAlgoritmos
Um
Um algoritmoalgoritmo éé a a descridescriççãoão sistemsistemááticatica de um de um mméétodotodo de de solusoluççãoão de um de um problema
problema qualquerqualquer..
FluxogramaFluxograma
Fluxograma
Fluxograma éé a a descridescriççãoão simbsimbóólicalica de um de um algoritmoalgoritmo, , indicandoindicando a a sequência
sequência ((ouou fluxofluxo) com ) com queque as as operaoperaççõesões sãosão executadasexecutadas. Os . Os trêstrês principais
principais componentescomponentes de um de um fluxogramafluxograma sãosão:: Indicador
Indicador de de fluxofluxo sequencialsequencial::
L
Indicador
Indicador de de fluxofluxo condicionalcondicional::
condição
Passo B
Passo A
V
F
Entrada
Saída
Indicador
Indicador de de fluxofluxo repetitivorepetitivo::
condição
Procedimento
V
F
Entrada
Saída
Exemplo:
Exemplo:
Escrever um fluxograma que leia dois n
Escrever um fluxograma que leia dois núúmeros a e b e fameros a e b e façça a divisão a a divisão entre eles: entre eles: Ler a Ler b Se b ≠ 0
V
F
Imprima “Divisão por 0” r = a /b Imprima r FimPode
Pode--se representar um algoritmo atravse representar um algoritmo atravéés de uma s de uma pseudopseudo linguagem linguagem que deve obedecer a uma sintaxe coerente. O fluxo condicional em
que deve obedecer a uma sintaxe coerente. O fluxo condicional em
uma
uma pseudopseudo linguagem pode ser escrito como:linguagem pode ser escrito como: Se ( condi
Se ( condiçção) então faão) então faççaa ... ... Se não então fa Se não então faççaa ... ... Fim de se Fim de se
A estrutura de repeti
A estrutura de repetiçção, por sua vez, pode ser representada ão, por sua vez, pode ser representada atravatravéés s de:
de:
Enquanto ( condi
Enquanto ( condiçção) faão) faççaa ...
...
Fim de
Fim de EnquantoEnquanto Quando
Quando o no núúmero exato de repetimero exato de repetiçções ões éé conhecido,conhecido, utilizautiliza--se a se a estrutura de repeti
estrutura de repetiçção ão ParaPara: : Para (contador de 1 at
Para (contador de 1 atéé nnúúmero de mero de ““loopsloops””) fa) faççaa ...
...
Fim de
O exemplo da divisão de dois n
O exemplo da divisão de dois núúmeros pode ser escrito em meros pode ser escrito em pseudopseudo linguagem tal como se segue:
linguagem tal como se segue:
Programa divisão;
Programa divisão;
a, b, r : reais;
a, b, r : reais;
Imprima
Imprima ““Entre com dois nEntre com dois núúmerosmeros”” ;; Ler a, b ; Ler a, b ; Se b <> 0 então fa Se b <> 0 então faççaa r = a/b ; r = a/b ; Se não então fa Se não então faççaa Imprima
Imprima ““ Divisão por zero !Divisão por zero !”” ;; Fim de Se
Fim de Se
Fim
Exemplo 1:
Exemplo 1:
Escrever um algoritmo que gere os primeiros 25 termos da
Escrever um algoritmo que gere os primeiros 25 termos da sequênciasequência de de Fibonacci
Fibonacci (1, 1, 2, 3, 5, 8, 13,...).(1, 1, 2, 3, 5, 8, 13,...). Programa
Programa FibonacciFibonacci;; Inteiro n, a, b, s; Inteiro n, a, b, s; a = 1; a = 1; b = 1; b = 1; n = 2; n = 2; Imprima a, b; Imprima a, b; Enquanto (n <= 25) fa Enquanto (n <= 25) faççaa s = a + b; s = a + b; a = b; a = b; b = s; b = s; Imprima s; Imprima s; n = n +1; n = n +1; Fim de Enquanto Fim de Enquanto Fim. Fim.
O mesmo algoritmo pode ser escrito tamb
O mesmo algoritmo pode ser escrito tambéém utilizando a estrutura de repetim utilizando a estrutura de repetiçção ão Para:
Para:
Programa
Programa FibonacciFibonacci;; Inteiro n, a, b, s; Inteiro n, a, b, s; a = 1; a = 1; b = 1; b = 1; Imprima a, b; Imprima a, b; Para (n = 3 at Para (n = 3 atéé 25) fa25) faççaa s = a + b; s = a + b; a = b; a = b; b = s; b = s; Imprima s; Imprima s; Fim de Para Fim de Para Fim. Fim.
Exemplo 2:
Exemplo 2:
Escrever um algoritmo que calcule o
Escrever um algoritmo que calcule o mmcmmc de dois nde dois núúmeros, sabendo que :meros, sabendo que :
)
,
(
.
.
)
,
.(
.
.
b
a
c
d
m
b
a
b
a
c
m
m
=
×
E para o cE para o cáálculo do m.d.c, utilizar o algoritmo de Euclides:lculo do m.d.c, utilizar o algoritmo de Euclides:
⎩
⎨
⎧
≠
=
=
0
)
mod
,
(
0
)
,
.(
.
.
b
se
b
a
b
mdc
b
se
a
b
a
c
d
m
Onde a funOnde a funçção ão modmod retorna o resto da divisão entre dois nretorna o resto da divisão entre dois núúmeros inteiros, por meros inteiros, por exemplo:
exemplo:
( 5
Programa
Programa mmcmmc;; Inteiro a, b, resto,
Inteiro a, b, resto, mdcmdc, , mmcmmc;; Imprima
Imprima ““Entre com dois nEntre com dois núúmeros !meros !””;; Ler a, b;
Ler a, b;
Enquanto (b <> 0) fa
Enquanto (b <> 0) faççaa resto = (a
resto = (a modmod b);b); a = b; a = b; b = resto; b = resto; Fim de Enquanto Fim de Enquanto mdc mdc = a;= a; mmc mmc = ( a * b)/ (= ( a * b)/ (mdcmdc) ;) ; Imprima
Imprima ““O MMC deO MMC de””,a,,a,””e e ““, b, , b, “é“é ::””, , mmcmmc;; Fim.
Exemplo 3:
Exemplo 3:
Escrever um algoritmo que calcule o fatorial de um n
Escrever um algoritmo que calcule o fatorial de um núúmero. Lembrando que por mero. Lembrando que por defini
definiçção 0! = 1.ão 0! = 1.
Programa Fatorial;
Programa Fatorial;
Inteiro n,
Inteiro n, fatfat;; Imprima
Imprima ““Informe um nInforme um núúmero :mero :””;; Ler n; Ler n; fat fat = 1;= 1; Enquanto Enquanto (n (n >> 1) fa1) faççaa fat
fat = = fatfat * n ;* n ; n = n
n = n –– 1 ;1 ; Fim de Enquanto
Fim de Enquanto
Imprima
Imprima ““O fatorial de O fatorial de ““,n, ,n, “é“é ::””, , fatfat;; Fim
Exemplo 4:
Exemplo 4:
Dado um n
Dado um núúmero inteiro mero inteiro n, n, diferente de zero, calcular a soma dos ndiferente de zero, calcular a soma dos núúmeros pares meros pares e a soma dos n
e a soma dos núúmeros meros íímpares mpares ≤≤ nn.. Programa contador;
Programa contador;
Inteiro n, i,
Inteiro n, i, somapsomap, somai;, somai; n = 0;
n = 0;
Enquanto (n = 0) então fa
Enquanto (n = 0) então faççaa Imprima
Imprima ““Entre com um nEntre com um núúmero, diferente de zero !mero, diferente de zero !”” ;; Ler n; Ler n; Fim de Enquanto Fim de Enquanto Somap Somap = 0 ;= 0 ; Somai = 0; Somai = 0; Para i = 1 at Para i = 1 atéé n fan faççaa Se ( i
Se ( i modmod 2) = 0 então fa2) = 0 então faççaa somap
somap = = somapsomap + i;+ i; se não então fa
somai = somai + i; somai = somai + i; Fim de se Fim de se Fim de para Fim de para Imprima
Imprima ““ A soma dos nA soma dos núúmeros pares meros pares éé ::”” , , somapsomap;; Imprima
Imprima ““A soma dos nA soma dos núúmeros meros íímpares mpares éé ::””, somai;, somai; Fim.