48
COMPUTA COMPUTA Ç Ç ÃO I ÃO I Prof. Fernando L. B. Ribeiro Prof. Fernando L. B. Ribeiro

COMPUTAÇÃO I - Programa de Engenharia Civil - COPPE/UFRJfernando/downloads/COMPUTACAO1.pdf · 70. Gordon Moore, um dos fundadores da Intel, observou em 1965 que o número de

Embed Size (px)

Citation preview

COMPUTACOMPUTAÇÇÃO IÃO IProf. Fernando L. B. RibeiroProf. Fernando L. B. Ribeiro

TECNOLOGIA QUE PRECEDEU OS COMPUTADORES TECNOLOGIA QUE PRECEDEU OS COMPUTADORES DIGITAISDIGITAIS

ÁÁBACO CHINÊSBACO CHINÊS -- O O ÁÁbaco Chinês, criado no sbaco Chinês, criado no sééculo XIV e ainda culo XIV e ainda hoje utilizado, hoje utilizado, éé um dispositivo manual para ADIum dispositivo manual para ADIÇÇÃO, ÃO, SUBTRASUBTRAÇÇÃO, MULTIPLICAÃO, MULTIPLICAÇÇÃO e DIVISÃO.ÃO e DIVISÃO.

http://qihttp://qi--journal.com/culturearticles/abacusindex.htmljournal.com/culturearticles/abacusindex.html

MMááquina de Diferenquina de Diferenççasas -- A MA Mááquina de Diferenquina de Diferençças foi inventada as foi inventada pelo matempelo matemáático britânico Charles Babbage (1823) . Tratatico 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 funfunçções trigonomões trigonoméétricas.tricas.

Calculadoras MecânicasCalculadoras Mecânicas -- As Calculadoras Mecânicas foram As Calculadoras Mecânicas foram criadas no final do scriadas no final do sééculo XIX, tornandoculo XIX, tornando--se obsoletas nos anos 70.se obsoletas nos anos 70.

PRIMEIRO COMPUTADOR ELETRÔNICO DIGITALPRIMEIRO COMPUTADOR ELETRÔNICO DIGITAL

Batizado de Batizado de ENIACENIAC ((electronicelectronic numericalnumerical integratorintegrator andandcomputercomputer), o primeiro computador foi constru), o primeiro computador foi construíído nos Estados do nos Estados Unidos em 1945 (Unidos em 1945 (UniversityUniversity ofof PennsylvaniaPennsylvania) para c) para cáálculos lculos balbalíísticos na segunda guerra mundial.sticos na segunda guerra mundial.

O ENIAC possuO ENIAC possuíía 19.000 va 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•• Gravador de cartõesGravador de cartões

1945 1945 –– ENIAC.ENIAC.

1941947/48 7/48 –– InvenInvenççãoão do transistor.do transistor.

19511951 -- UNIVAC, UNIVAC, primeiroprimeiro computadorcomputador comercialcomercial..

1953 1953 -- IBM 701 EDPM, IBM 701 EDPM, primeiroprimeiro computadorcomputador IBM.IBM.

1954 1954 –– FORTRAN (Formula Translator), FORTRAN (Formula Translator), primeiraprimeira linguagemlinguagem de de programaprogramaççãoão de alto de alto nníívelvel..

1955 1955 –– ERMA, ERMA, primeiroprimeiro computadorcomputador desenvolvidodesenvolvido parapara sistemassistemasbancbancááriosrios (Bank of America).(Bank of America).

CRONOLOGIACRONOLOGIA

1958 1958 –– InvenInvenççãoão do do ““circuitocircuito integradointegrado”” (CHIP).(CHIP).

1962 1962 –– SPACEWAR, SPACEWAR, primeiroprimeiro ““gamegame”” parapara computadorescomputadores..

1964 1964 –– PrimeiraPrimeira interface interface grgrááficafica com com ““janelasjanelas””, , primeiroprimeiro mouse.mouse.

1969 1969 –– ARPANET, a internet original, ARPANET, a internet original, desenvolvidadesenvolvida parapara fins fins militaresmilitares..

1970 1970 –– PrimeiroPrimeiro chip de chip de memmemóóriaria RAM (Intel).RAM (Intel).

1971 1971 –– Intel 4004, Intel 4004, primeiroprimeiro microprocessadormicroprocessador..

1976/77 1976/77 –– Apple I, II e TRSApple I, II e TRS--80, 80, primeirosprimeiros computadorescomputadoresdomdoméésticossticos..

1978 1978 –– VisiCalc, VisiCalc, primeiraprimeira planilhaplanilha eletrônicaeletrônica (software).(software).

1979 1979 –– WORDSTAR, um dos WORDSTAR, um dos primeirosprimeiros editoreseditores de de textotexto..

1981 1981 –– PrimeiroPrimeiro IBMIBM--PC, PC, comecomeççaa a era dos PCa era dos PC’’s.s.

1981 1981 –– MSMS--DOS, DOS, sistemasistema operacionaloperacional dada Microsoft.Microsoft.

1984 1984 –– Apple Macintosh, com interface Apple Macintosh, com interface grgrááficafica (GUI).(GUI).

1985 1985 –– Microsoft Windows.Microsoft Windows.

AQUITETURA DE VON NEUMANNAQUITETURA DE VON NEUMANN

JohannJohann vonvon Neumann (1907Neumann (1907--1957), matem1957), matemáático htico húúngaro, ngaro, estabeleceu em 1945 os princestabeleceu em 1945 os princíípios de operapios de operaçção de um ão de um computador eletrônico digital. Estes princcomputador 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 operaoperaçção dos computadores mais modernos. A Arquitetura de Von ão dos computadores mais modernos. A Arquitetura de Von Neumann baseiaNeumann 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 memNa memóória são armazenados dados e programas (conjunto de ria são armazenados dados e programas (conjunto de instruinstruççõ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 lum circuito lóógico responsgico responsáável pelo vel pelo funcionamento da mfuncionamento da mááquina, controlando o fluxo de instruquina, controlando o fluxo de instruçções. ões. Este funcionamento realizaEste funcionamento realiza--se em ciclos. se em ciclos.

A unidade de processamento realiza os cA unidade de processamento realiza os cáálculos de acordo com as lculos de acordo com as instruinstruçções. Esta unidade conte basicamente registradores e uma ões. Esta unidade conte basicamente registradores e uma Unidade LUnidade Lóógicogico--AritmAritméética (ALU), onde são executadas as tica (ALU), onde são executadas as operaoperaçções aritmões aritmééticas. Os registradores são:ticas. Os registradores são:

•• Registrador IC (Registrador IC (InstructionInstruction CounterCounter) ) -- contcontéém o enderem o endereçço na memo na memóória ria com a prcom a próóxima instruxima instruçção a ser executada.ão a ser executada.

•• Registrador IR (Registrador IR (InstuctionInstuction RegisterRegister) ) -- contcontéém a prm a próóxima instruxima instruçção a ão a ser executada.ser executada.

•• Registrador MAR (Registrador MAR (MemoryMemory AddressAddress RegisterRegister)) -- contcontéém o enderem o endereçço da o da posiposiçção da memão da memóória a ser lida ou escrita.ria a ser lida ou escrita.

•• Registrador MBR (Registrador MBR (MemoryMemory Buffer Buffer RegisterRegister)) -- contcontéém o dado a ser lido m o dado a ser lido ou escrito na memou escrito na memóória.ria.

•• Registradores de propRegistradores de propóósito geral sito geral –– usados para armazenar resultados usados para armazenar resultados intermediintermediáários.rios.

ArquiteturaArquitetura de Von Neumannde Von Neumann•• Registrador IC (Registrador IC (InstructionInstruction

CounterCounter) ) -- contcontéém o enderem o endereçço o na memna memóória com a prria com a próóxima xima instruinstruçção a ser executada.ão a ser executada.

•• Registrador IR (Registrador IR (InstuctionInstuctionRegisterRegister) ) -- contcontéém a prm a próóxima xima instruinstruçção a ser executada.ão a ser executada.

•• Registrador MAR (Registrador MAR (MemoryMemoryAddressAddress RegisterRegister)) -- contcontéém o m o endereendereçço da posio da posiçção da ão da memmemóória a ser lida ou escrita.ria a ser lida ou escrita.

•• Registrador MBR (Registrador MBR (MemoryMemoryBuffer Buffer RegisterRegister)) -- contcontéém o m o dado a ser lido ou escrito na dado a ser lido ou escrito na memmemóória.ria.

•• Registradores de propRegistradores de propóósito sito geral geral –– usados para usados para armazenar resultados armazenar resultados intermediintermediáários.rios.

Memória

Unidade de Controle

MAR MBR

IR

IC

Registrador A

Registrador B

Registrador C

ALU

ArquiteturaArquitetura de Von Neumannde Von Neumann

A principal caracterA 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 instruinstruçções pode ter desvios condicionais ões pode ter desvios condicionais ou condicionais. Esta arquitetura persiste ou condicionais. Esta arquitetura persiste atatéé hoje, mesmo nos computadores mais hoje, mesmo nos computadores mais modernos.modernos.

Em cada ciclo do funcionamento da mEm cada ciclo do funcionamento da mááquina, as quina, as seguintes operaseguintes 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 llóó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 nsobre núúmeros armazenados em dois ou mais meros armazenados em dois ou mais registradores especregistradores especííficos para o tipo de ficos para o tipo de operaoperaçção.ão.

•• Leitura ou gravaLeitura ou gravaçção de um dado na memão de um dado na memóória ria ––se a instruse 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 dadaíí para um registrador apropriado para a para um registrador apropriado para a operaoperaçção. Se a instruão. Se a instruçção for de gravaão for de gravaçção na ão na memmemóória (por exemplo, um resultado de uma ria (por exemplo, um resultado de uma operaoperaçção), o dado ão), o dado éé transferido de um transferido de um registrador para o MBR, com seu endereregistrador para o MBR, com seu endereçço na o na memmemóó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 GENARQUITETURA GENÉÉRICA DE UM COMPUTADORRICA 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 menNeumann. No entanto, os componentes eletrônicos são hoje bem menores, e o ciclo ores, e o ciclo da mda 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 tcircuito integrado tinha sido inventado nos anos 50. Anos mais tarde, no inarde, no iníício da cio da ddéé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 focom materiais semicondutores onde os dados são armazenados de forma binrma bináária atravria atravéés de s de circuitos lcircuitos 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 aritmaritméética, registradores, e memtica, registradores, e memóórias auxiliares para armazenar temporariamente os dados rias auxiliares para armazenar temporariamente os dados lidos/escritos na memlidos/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 alterROM 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 usuque 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 dispositivivosdispositivivos de de dede entrada e saentrada e saíída são o da são o teclado, o mouse, e o monitor de vteclado, o mouse, e o monitor de víídeo.deo.

CPU

Unidade de Controle

Unidade LógicoAritmética M

emória

RAM

Bios

Periférico Periférico

InterfaceInterface

SISTEMAS DE REPRESENTASISTEMAS DE REPRESENTAÇÇÃO DE NÃO DE NÚÚMEROSMEROS

RepresentaRepresenta--se um nse um núúmero inteiro N, na base mero inteiro N, na base ββ,, pela expressãopela expressão

ou equivalentemente,ou equivalentemente,

Os nOs 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 fracionfracionáária:ria:

aaii, , bbjj –– ddíígitos da base gitos da base ββ

00

11

11 ...... β+β++β+β= −− aaaaN n

nn

n

( ) β−= 011 ,,...,, aaaaN nn

( )10 <<+= FFI RRRRk

kF bbbR −−− β++β+β= ......22

11

SistemaSistema DecimalDecimal

No sistema decimal, No sistema decimal, ββ = 10 e = 10 e aaii e e bbjj assumem os valores inteiros assumem os valores inteiros correspondentes aos 10 dcorrespondentes aos 10 díígitos:gitos:

aaii , , bbjj = = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

ExemplosExemplos::

(347)(347)1010 = 3 x 10= 3 x 1022 + 4 x 10+ 4 x 1011 + 7 x 10+ 7 x 1000

(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 1000 + 8 x 10+ 8 x 10--11 + 2 x 10+ 2 x 10--22 +3 x 10+3 x 10--33

SistemaSistema BinBinááriorio

No sistema binNo sistema bináário, rio, ββ = 2 e = 2 e aaii e e bbjj assumem os valores 0 e 1.assumem os valores 0 e 1.O termo O termo bitbit tem como origem a abreviatura de (b)tem como origem a abreviatura de (b)inaryinary digdig(it).(it).

ExemplosExemplos::

1001

2 )3(2121)11( =×+×=

10012

2 )7(212121)111( =×+×+×=

10012

2 )5(212021)101( =×+×+×=

1001234

2 )23(2121212021)10111( =×+×+×+×+×=

ObservaObservaççãoão: Assim como a multiplica: Assim como a multiplicaçção por 10 no sistema ão por 10 no sistema decimal, a multiplicadecimal, a multiplicaçção por 2 no sistema binão por 2 no sistema bináário corresponde rio corresponde àà““adiadiççãoão”” de um zero de um zero àà direita do ndireita do núúmero.mero.

1001

2 )2(2021)10( =×+×=

10012

2 )4(202021)100( =×+×+×=

100123

2 )8(20202021)1000( =×+×+×+×=

1001234

2 )16(2020202021)10000( =×+×+×+×+×=

1010

2 )5.0(2120)1.0( =×+×= −

10210

2 )25.0(212020)01.0( =×+×+×= −−

103210

2 )125.0(21202020)001.0( =×+×+×+×= −−−

10210

2 )75.1(212121)11.1( =×+×+×= −−

10101

2 )5.2(212121)1.11( =×+×+×= −

SistemaSistema HexadecimalHexadecimal

No sistema hexadecimal, No sistema hexadecimal, ββ = 16, = 16, aiai e e bjbj os valores inteiros os valores inteiros correspondentes aos 16 dcorrespondentes aos 16 díígitos:gitos:

aiai , , bjbj = = (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 necessComo no sistema hexadecimal são necessáários 16 algarismos para rios 16 algarismos para representar um nrepresentar um núúmero nessa base e a base decimal smero nessa base e a base decimal sóó possui dez, possui dez, tornatorna--se necessse 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 ééobrigatobrigatóório, poderio, pode--se utilizar outros sse utilizar outros síímbolos.mbolos.

ExemplosExemplos::

10012

16 )300(16C162161)C12( =×+×+×=

1001

16 )191(16F16B)BF( =×+×=

ConversãoConversão de de nnúúmerosmeros inteirosinteiros, do , do sistemasistema decimal decimal parapara o o sistemasistema binbinááriorio

Como foi visto anteriormente, para converter um nComo foi visto anteriormente, para converter um núúmero do sistema mero do sistema binbináário para o sistema decimal basta efetuar as operario para o sistema decimal basta efetuar as operaçções de ões de multiplicamultiplicaççã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 nconverter um núúmero do sistema decimal para o sistema o sistema binmero do sistema decimal para o sistema o sistema bináário rio devedeve--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 representasistema decimal tem como representaçção binão bináária:ria:

Dividindo os dois lados da igualdade acima obtDividindo os dois lados da igualdade acima obtéémm--se:se:

⇒⇒

00

11

1110 22......221)417( ×+×++×+×= −− aaa n

nn

10

01

21

1 22......2212

417 −−−

− ×+×++×+×= aaa nn

n

2a

2082

417 0+= 10 =a

Dividindo por 2 sucessivamente:Dividindo por 2 sucessivamente:

11

21

110 2......221)208( ×++×+×= −

−− aa n

nn

aa88 = 1= 10011

aa77 = 1= 11133

aa66 = 0= 03366

aa55 = 1= 1661313

aa11 = 0= 0104104208208

aa22 = 0= 05252104104

0000

aa44 = 0= 013132626

aa33 = 0= 026265252

aa00 = 1= 1208208417417

restorestox/2x/2xx

210 )110100001()417( =

O O procedimentoprocedimento inversoinverso seriaseria::

3a2a 78 =+×

6a23 6 =+×

13a26 5 =+×

26a213 4 =+×

52a226 3 =+×

104a252 2 =+×

208a2104 1 =+×

417a2208 0 =+×

ConversãoConversão de de nnúúmerosmeros fracionfracionááriosrios, do , do sistemasistema decimal decimal parapara o o sistemasistema binbinááriorio

Seja o problema de converter o nSeja o problema de converter o núúmero fracionmero fracionáário .762 do sistema decimal para o rio .762 do sistema decimal para o sistema binsistema bináário:rio:

Multiplicando por 2:Multiplicando por 2:

⇒⇒

.......22)762(. 22

1110 +×+×= −− aa

.......22524.1 12

01 +×+×= −aa 1a1 =

0.5360.536

aa77 = 1= 11.5361.5360.7680.768

aa66 = 0= 00.7680.7680.3840.384

aa22 = 1= 11.0481.0480.5240.524

aa33 = 0= 00.0960.0960.0480.048

aa55 = 0= 00.3840.3840.1920.192

aa44 = 0= 00.1920.1920.0960.096

aa11 = 1= 11.5241.5240.7620.762

2x2xxx

Multiplicando sucessivamente por 2 a parte fracionMultiplicando sucessivamente por 2 a parte fracionáária:ria:

210 ......)1000110.0()762.0( =

Como podeComo pode--se observar neste exemplo, um nse observar neste exemplo, um núúmero fracionmero fracionáário com rio com representarepresentaççã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 bininfinita no sistema bináário.rio.

Exemplos:Exemplos:

.......2a2a)5(. 22

1110 +×+×= −−

aa22 = 0= 00.00.00.00.0

aa11 = 1= 11.01.00.50.5

2x2xxx

210 )1.0()5(. =

aa44 = 0= 00.00.00.00.0

aa22 = 0= 00.500.500.250.25

aa33 = 1= 11.01.00.50.5

aa11 = 0= 00.250.250.1250.125

2x2xxx

.......2a2a)125(. 22

1110 +×+×= −−

210 )001.0()125(. =

.......22)1(. 22

1110 +×+×= −− aa

0.40.40.20.2

aa99 = 1= 11.21.20.60.6

aa88 = 1= 11.61.60.80.8

aa77 = 0= 00.80.80.40.4

aa66 = 0= 00.40.40.20.2

aa22 = 0= 00.40.40.20.2

aa33 = 0= 00.80.80.40.4

aa55 = 1= 11.21.20.60.6

aa44 = 1= 11.61.60.80.8

aa11 = 0= 00.20.20.10.1

2x2xxx

210 ...)000110011.0()1(. =

AritmAritmééticatica no no sistemasistema binbinááriorio

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 aditabela completa para a adiçção em binão em bináário rio éé a seguinte:a seguinte:

0 + 0 = 0 0 + 0 = 0 0 + 1 = 10 + 1 = 11 + 0 = 11 + 0 = 11 + 1 = 0 mais 1 + 1 = 0 mais ““vai umvai um””

Exemplos :Exemplos :

Decimal BinDecimal Bináário Decimal Binrio Decimal Binááriorio

55 101 15 1111101 15 1111+ 6+ 6 + 110+ 110 + 20+ 20 + + 101001010011 1011 35 11 1011 35 100011100011

Com o Com o ““vai Umvai Um”” (1 + 1)(1 + 1)

SubtraSubtraçção:ão:

A subtraA 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 = 11 1 -- 1 = 01 = 00 0 -- 1 = 1 com o empr1 = 1 com o emprééstimo de umstimo de um

Exemplos :Exemplos :

Decimal BinDecimal 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 multiplicaA 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 = 01 X 0 = 00 x 1 = 00 x 1 = 01 x 1 = 11 x 1 = 1

Exemplos:Exemplos:

Decimal BinDecimal Binááriorio

1201012×

11110001100000011000000

10101100×

Divisão :Divisão :

A divisão em binA 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 = 11 = 1

Exemplos:Exemplos:

DecimalDecimal BinBinááriorio

100

00110110001104

246

AritmAritmééticatica de de PontoPonto FlutuanteFlutuante

Em aritmEm aritméética de ponto flutuante, um ntica de ponto flutuante, um núúmero real mero real éé representado na representado na forma:forma:

onde (.donde (.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.

et21 )d......dd(.x β×±=

.100x10.100x10--33.100x10.100x10--330.00010.0001

==.718x10.718x1066 (overflow)(overflow)718235.82718235.82

==.700x10.700x10--5 5 (underflow)(underflow)0.0000070.000007

.271x10.271x1011.271x10.271x10112.71282.7128

--.238x10.238x1033--.238x10.238x1033--238.15238.15

.101x10.101x1022.100x10.100x102210.05310.053

.125x10.125x1011.125x10.125x10111.251.25

RepresentaRepresentaççãoão porpor arredondamentoarredondamentoRepresentaRepresentaççãoão porpor truncamentotruncamentoxx

Exemplos, com t = 3, Exemplos, com t = 3, ββ = 10, m = = 10, m = --4 e M = 4:4 e M = 4:

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 problemaproblema qualquerqualquer..

FluxogramaFluxograma

FluxogramaFluxograma éé a a descridescriççãoão simbsimbóólicalica de um de um algoritmoalgoritmo, , indicandoindicando a a sequênciasequência ((ouou fluxofluxo) com ) com queque as as operaoperaççõesões sãosão executadasexecutadas. Os . Os trêstrêsprincipaisprincipais componentescomponentes de um de um fluxogramafluxograma sãosão::

IndicadorIndicador de de fluxofluxo sequencialsequencial::

LLÓÓGICA DE PROGRAMAGICA DE PROGRAMAÇÇÃOÃO

IndicadorIndicador de de fluxofluxo condicionalcondicional::

condição

Passo BPasso A

VF

Entrada

Saída

IndicadorIndicador de de fluxofluxo repetitivorepetitivo::

condição

Procedimento

VF

Entrada

Saída

Exemplo:Exemplo:

Escrever um fluxograma que leia dois nEscrever 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 ≠ 0VF

Imprima “Divisão por 0”

r = a /b

Imprima r

Fim

PodePode--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 emque deve obedecer a uma sintaxe coerente. O fluxo condicional emuma uma pseudopseudo linguagem pode ser escrito como:linguagem pode ser escrito como:

Se ( condiSe ( condiçção) então faão) então faççaa

......

Se não então faSe não então faççaa

......

Fim de seFim de se

A estrutura de repetiA estrutura de repetiçção, por sua vez, pode ser representada ão, por sua vez, pode ser representada atravatravéés s de:de:

Enquanto ( condiEnquanto ( 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 repetiestrutura de repetiçção ão ParaPara: :

Para (contador de 1 atPara (contador de 1 atéé nnúúmero de mero de ““loopsloops””) fa) faççaa

......

Fim de Fim de ParaPara

O exemplo da divisão de dois nO exemplo da divisão de dois núúmeros pode ser escrito em meros pode ser escrito em pseudopseudolinguagem 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 faSe b <> 0 então faççaa

r = a/b ;r = a/b ;

Se não então faSe não então faççaa

Imprima Imprima ““ Divisão por zero !Divisão por zero !”” ;;

Fim de SeFim de Se

FimFim

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 FibonacciFibonacci (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) faEnquanto (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 EnquantoFim de Enquanto

Fim.Fim.

O mesmo algoritmo pode ser escrito tambO 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 atPara (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 ParaFim de ParaFim.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 :

),(..),.(..

bacdmbabacmm ×

=

E para o cE para o cáálculo do m.d.c, utilizar o algoritmo de Euclideslculo do m.d.c, utilizar o algoritmo de Euclides::

⎩⎨⎧

≠=

=0)mod,(

0),.(..

bsebabmdcbsea

bacdm

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 ( 5 modmod 3) = 23) = 2

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) faEnquanto (b <> 0) faççaa

resto = (a resto = (a modmod b);b);

a = b;a = b;

b = resto;b = resto;

Fim de EnquantoFim de Enquanto

mdcmdc = a;= a;

mmcmmc = ( a * b)/ (= ( a * b)/ (mdcmdc) ;) ;

Imprima Imprima ““O MMC deO MMC de””,a,,a,””e e ““, b, , b, “é“é ::””, , mmcmmc;;

Fim. Fim.

Exemplo 3:Exemplo 3:

Escrever um algoritmo que calcule o fatorial de um nEscrever um algoritmo que calcule o fatorial de um núúmero. Lembrando que por mero. Lembrando que por definidefiniççã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;

fatfat = 1;= 1;

EnquantoEnquanto (n (n >> 1) fa1) faççaa

fatfat = = fatfat * n ;* n ;

n = n n = n –– 1 ;1 ;

Fim de EnquantoFim de Enquanto

ImprimaImprima ““O fatorial de O fatorial de ““,n, ,n, “é“é ::””, , fatfat;;

FimFim

Exemplo 4:Exemplo 4:

Dado um nDado 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 ne 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 faEnquanto (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 EnquantoFim de Enquanto

SomapSomap = 0 ;= 0 ;

Somai = 0;Somai = 0;

Para i = 1 atPara i = 1 atéé n fan faççaa

Se ( i Se ( i modmod 2) = 0 então fa2) = 0 então faççaa

somapsomap = = somapsomap + i;+ i;

se não então fase não então faççaa

somai = somai + i; somai = somai + i;

Fim de seFim de se

Fim de paraFim 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.Fim.