Aos leitores!

SEJA UM PATROCINADOR DO SITE MANUFOTOS PHOTOGRAPHER: ACEITAMOS DONATIVOS EM QUALQUER VALOR OU QUALQUER UM DESTES AO LADO R$ 0,10 - 0,50 - 1,00 - 10,00 - 100,00 - U$$,

segunda-feira, 5 de dezembro de 2011

Aulas Primeiro ciclo.

Curso Superior de Tecnologia Analise e Desenvolvimento de Sistema.

Evolução dos Computadores


GERAÇAO

PERÍODO CARACTERÍSTICAS S.O. LINGUAGEM

1ª 19451955

Usavam válvulas e ocupavam áreas enormes.O ENIAC (Electronic NumericalIntegrator and Computer). Criado para a realização de cálculos balísticos, sua estrutura possuía 18 mil válvulas, 10 mil capacitores,70 mil resistores e pesava 30 toneladas. Quando em operação,consumia cerca de 140 quilowatts e era capaz de realizar 5 mil adições por segundo Nessa fase, ainda não existia o conceito de sistema operacional.Para trabalhar nessas máquinas, era necessário conhecer profundamente o  funcionamento do hardware, pois a

programação era feita

em painéis, através de

fios, utilizando

linguagem de máquina.

2ª 19561965

A criação do transistor e das

memórias magnéticas contribui

pare o enorme avanço dos

computadores da época.

Os primeiros sistemas

operacionais

surgiram, justamente,

pare tentar

automatizar as tarefas

manuais.

Processamento batch.

Com o surgimento das

primeiras linguagens de

programação, como

Assembly e Fortran, os

programas deixaram de

ser feitos diretamente

no hardware, o que

facilitou enormemente

o processo de

desenvolvimento de

programas.

3ª 19661980

Através dos circuitos integrados

(CIs) e, posteriormente, dos

microprocessadores, foi possível

viabilizar e difundir o uso de

sistemas computacionais por

empresas, devido a diminuição de

seus custos de aquisição.

micros de 8 bits da Apple

Multiprograma_

cão.

Timesharing

Sistema operacional

CP/M (Control

Program Monitor).

Linguagem procedural

de alto nível.

4ª 19811990

A integração em large escala

(Large Scale IntegrationLSI)

e a

integração em muito large escala

(Very Large Scale IntegrationVLSI).

Surgiram os microcomputadores

PC (Personal Computer) de 16 bits

da IBM.

Sistema operacional

DOS (Disk Operation

System).

Surgem os sistemas

operacionais de rede.

multiprocessamento

Linguagem Orientada a

Objetos.

Linguagem de 4ª

geração (SQL)

5ª 1991Os

componentes baseados em

tecnologia VLSI (Very Large

Scale Integration) evoluem

rapidamente pare o ULSI (Ultra

Large Scale Integration).

Clusters.

Arquiteturas paralelas,

baseadas em

organizações de

multiprocessadores

não convencionais, já

se encontram em

desenvolvimento em

varias universidades e

centros de pesquisa do

mundo.

Novas linguagens e

metodologias de

programação

concorrentes estão

sendo desenvolvidas,

em particular, fazendo

uso extensivo de

inteligência artificial e

CAD (ComputerAided

Design).



HISTÓRICO DO PROCESSAMENTO DE DADOS


PRIMÓRDIOS

- O ÁBACO CHINÊS 􀀀 1200 AC

- RÉGUA DE CÁLCULO 􀀀 WILLIAM OUGHTRED 􀀀 1633

- CALCULADORA MECÂNICA 􀀀 BLAISE PASCAL 􀀀 1642

- CALCULADORA MEC APERFEIÇOADA 􀀀 CHARLES BABAGE (1792-

1871) PAI DO COMPUTADOR (CONSIDERADO POR ALGUNS)

- MÁQUINA LEITORA DE CARTÕES PERFURADOS 􀀀 HERMAN

HOLLERITH 􀀀 CENSO EUA 􀀀 1880 􀀀 IBM

- MARK I (RELÉS) 􀀀 CÁLCULO DE DIFERENCIAIS E INTEGRAIS 􀀀

1944

- ENIAC ( 1º COMPUTADOR DIGITAL) 􀀀 1946

- JOHN VON NEUMAN 􀀀 INTRODUZIU NOVO CONCEITO DE

PROGRAMA ARMAZENADO 􀀀 1950

- UNIVAC I (1º COMPUTADOR EM ESCALA COMERCIAL) 􀀀 1951

ATUALIDADE

- 1972 􀀀 CHIP INTEL 􀀀 ORIGEM DO MICRO (APPLE)

- 1981 􀀀 PC - IBM

- FINAL DA DÉCADA DE 80 􀀀 SUPER COMPUTADOR

- INÍCIO DOS ANOS 90 􀀀 INTERNET
 
 





Exercício Fluxograma


1 – Você é o responsável pelo churrasco da turma. Como você não quer que nada dê

errado, resolveu elaborar um fluxograma para esse processo. Não se importe com

tamanho do local para acomodar as pessoas, quantidade de bebidas ou de alimento.

Pense nos processos que envolveriam a organização de tal evento.

2 - A empresa não tinha um estoque informatizado e o os pedidos ao estoque ocorriam

da seguinte forma:

O estoquista ao receber uma solicitação de peça, verifica na listagem do estoque a

disponibilidade da mesma. Caso esteja disponível, a peça é entregue ao solicitante e em

seguida, é efetuada a baixa no estoque. Caso a peça não esteja disponível, verifica-se

junto aos fornecedores de peças*, o tempo de entrega. Informa-se o tempo necessário ao

solicitante. Caso este (solicitante) ainda deseje a peça, o pedido ao fornecedor é

efetuado imediatamente. Aguarda-se a chegada da peça e a sua entrada no estoque. Em

seguida ela é entregue ao solicitante e é efetuada a baixa no estoque.

*considere que o fornecedor sempre tem a peça solicitada disponível para entrega.

3 - Uma determinada empresa faz suas compras por meio do sistema de Pregão

Eletrônico. Elabore o fluxograma da rotina de Aceitação de Proposta:

A) A rotina inicia após o encerramento das propostas/lances;

B) Os candidatos têm sua aceitabilidade verificada: se uma empresa não for

“aceitável” (não estiver com a documentação correta), é desclassificada;

C) Após a fase de aceitabilidade, é verificada a conformidade do objeto licitado: se

as características do objeto não atenderem aos especificado no Edital do pregão,

aquele produto será desclassificado;

D) É selecionada a proposta de menor preço.

E) Verifica-se se o Edital solicitou a apresentação de amostra:

◦ Se o Edital solicitou amostra, é analisada a amostra;

◦ Se o Edital não solicitou a amostra, é analisada apenas a proposta comercial

(prazos, garantia, etc.);

F) Se a proposta (e/ou a amostra) não atende ao Edital, o pregoeiro passará para a

análise do próximo colocado;

G) O preço proposto é comparado com os valores constantes no Termo de

Referência (base para a aceitação do preço). Se o valor não for aceitável, o

pregoeiro passará para a análise do próximo colocado;

H) Caso contrário, é iniciado um chat (bate-papo por computador) com o candidato,

solicitando a redução do preço;

I) Se o candidato não reduzir o preço, mas este atender ao Edital, a proposta é

aceita, a rotina é encerrada. Se o preço não atender ao Edital, o pregoeiro passará

para a análise do próximo colocado;

J) Se o candidato reduzir o preço, e este atender ao Edital, a proposta é aceita e

devem ser informados, ao sistema, o novo preço negociado e a justificativa para

aquele preço. A rotina é encerrada.

K) Caso o preço, mesmo após redução, não atenda ao Edital, o pregoeiro passará

para a análise do próximo colocado.

4 - Construir um fluxograma que mostre se um número lido é par ou não. O fluxo deve

se repetir até que seja lido o flag “pare”.
 
 
 
Lista de exercícios Fluxograma


1. Faça um fluxograma que leia as medidas do raio e da altura de um recipiente

cilíndrico e calcule e apresente o volume deste recipiente através da formula:

Volume=3.14 * Raio2*Altura.

2. Elabore um fluxograma par ler uma temperatura em graus Fahrenheit e apresentá-la

convertida em graus Celsius. A fórmula de conversão é C=(F-32)*(5/9), onde C é a

temperatura em Celsius e F a temperatura em Fahrenheit. O programa deve exibir se

está frio menos de 17ºC, agradável, entre 17ºC e 25ºC ou calor.

3. Faça um fluxograma que leia o tempo gasto e a velocidade média em uma viagem

realizada por um veículo com consumo de 12 Km/l. Este fluxograma deverá calcular e

apresentar a quantidade de combustível gasto nesta viagem.

4. Faça um fluxograma que leia as medidas de uma sala retangular (largura da parede

maior, altura da parede, largura da parede menor) e calcule e apresente a soma das

áreas das paredes internas e também do teto. Também calcule quantas latas de tinta

serão necessárias para pintar as paredes da sala em questão sabendo que uma lata

de tinta é suficiente para pintar uma área de 12 m2.

5. Construir um fluxograma que faça a leitura das variáveis numéricas A e B, e efetue a

troca dos valores, de forma que a variável A passe a possuir o valor da variável B e

vice-versa. Apresente os valores trocados.

6. Faça um fluxograma que leia as idades de 40 pessoas e calcule informe a média das

idades e a idade da mais velha.

7. Faça um fluxograma que leia quatro números e os apresente em ordem crescente.
 
 
 
 
 
Atualizado em


Prof. Rui Mano

Email:

rmano@tpd.pucrio.

br

SISTEMAS DE NUMERAÇÃO

Sistemas de Numer ação Posicionais

Desde quando se começou a registrar informações sobre quantidades, foram criados

diversos métodos de representar as quantidades. Esse histórico pode ser encontrado em

Representação da Informação.

O método ao qual estamos acostumados usa um sistema de numeração posicional. Isso

significa que a posição ocupada por cada algarismo em um número altera seu valor de

uma potência de 10 (na base 10) para cada casa à esquerda.

Por exemplo, no sistema decimal (base 10), no número 125 o algarismo 1 representa

100 (uma centena ou 10 2 ) , o 2 representa 20 (duas dezenas ou 1x10 1 ) e o 5 representa 5

mesmo (5 unidades ou 5x10 0 ). Assim, em nossa notação,

125 = 1x10 2 + 2x10 1 + 5x10 0

Base de um Sistema de Numer ação

A base de um sistema é a quantidade de algarismos disponível na representação. A base

10 é hoje a mais usualmente empregada, embora não seja a única utilizada. No comércio

pedimos uma dúzia de rosas ou uma grosa de parafusos (base 12) e também marcamos o

tempo em minutos e segundos (base 60).

Os computadores utilizam a base 2 (sistema binário) e os programadores, por facilidade,

usam em geral uma base que seja uma potência de 2, tal como 2 4 (base 16 ou sistema

hexadecimal) ou eventualmente ainda 2 3 (base 8 ou sistema octal).

Na base 10, dispomos de 10 algarismos para a representação do número: 0, 1, 2, 3, 4, 5,

6, 7, 8 e 9. Na base 2, seriam apenas 2 algarismos: 0 e 1. Na base 16, seriam 16: os 10

algarismos aos quais estamos acostumados, mais os símbolos A, B, C, D, E e F,

representando respectivamente 10, 11, 12, 13, 14 e 15 unidades. Generalizando, temos

que uma base b qualquer disporá de b algarismos, variando entre 0 e (b1).

A representação 125,3810 (base 10) significa 1x10 2 + 2x10 1 + 5x10 0 + 3x10 1

+ 8x10 2

:

Generalizando, representamos uma quantidade N qualquer, numa dada base b, com um

número tal como segue:

Nb = an.b n + .... + a2.b 2 + a1.b 1 + a0.b 0 + a1

.b 1

+ a2

.b 2

+ .... + an

.b n

sendo que

an.b n + .... + a2.b 2 + a1.b 1 + a0.b 0 é a parte inteira e

a1

.b 1

+ a2

.b 2

+ .... + an

.b n

é a parte fracionária.

Intuitivamente, sabemos que o maior número que podemos representar, com n

algarismos, na base b, será o número composto n vezes pelo maior algarismo disponível

naquela base (ou seja, b1).

Por exemplo, o maior número que pode ser representado na

base 10 usando 3 algarismos será 999 (ou seja, 10 3 1

= 999).

Generalizando, podemos ver que o maior número inteiro N que pode ser representado,

em uma dada base b, com n algarismos (n "casas"), será N = b n 1.

Assim, o maior

número de 2 algarismos na base 16 será FF16 que, na base 10, equivale a 25510 = 16 2 1.

Representação Binár ia

Os computadores modernos utilizam apenas o sistema binário, isto é, todas as

informações armazenadas ou processadas no computador usam apenas DUAS

grandezas, representadas pelos algarismos 0 e 1. Essa decisão de projeto devese

à

maior facilidade de representação interna no computador, que é obtida através de dois

diferentes níveis de tensão (ver discussão em Bits & Bytes). Havendo apenas dois

algarismos, portanto dígitos binários, o elemento mínimo de informação nos

computadores foi apelidado de bit (uma contração do inglês binary digit).

Na base 2, o número "10" vale dois. Mas se 102 = 210, então dez é igual a dois?

Não, dez não é e nunca será igual a dois!

Na realidade, "10" não significa necessariamente "dez". Nós estamos acostumados a

associar "10" a "dez" porque estamos acostumados a usar o sistema de numeração

decimal. O número

102 seria lido "umzero"

na base 2 e vale 210 (convertido para "dois" na base dez),

105 seria lido "umzero"

na base 5 e vale 510 (convertido para "cinco" na base dez),

1010 pode ser lido como "umzero"

na base 10 ou então como "dez" na base dez,

1016 seria lido "umzero"

na base 16 e vale 1610 (convertido para "dezesseis" na base

dez), etc.

Por tanto, 10 só ser á igual a dez se e

somente se o

número estiver repr esentado

na base dez!

Uma curiosidade: o número "10b" vale sempre igual à base, porque em uma dada base b

os algarismos possíveis vão sempre de 0 a (b 1)!

Como o maior algarismo possível em

uma dada base b é igual a (b1),

o próximo número será (b 1

+ 1 = b) e portanto será

sempre 10 e assim, numa dada base qualquer , o valor da base ser á sempre

repr esentado por " 10" !

Obs.: Toda vez que um número for apresentado sem que seja indicado em qual sistema

de numeração ele está representado, estenderemos que a base é dez. Sempre que outra

base for utilizada, a base será obrigatoriamente indicada.

Um dia pode ser que os computadores se tornem obrigatórios e sejamos todos forçados

por lei a estudar a aritmética em binário! Mas, mesmo antes disso, quem programa

computadores precisa conhecer a representação em binário! Vamos começar

entendendo as potências de dois (calma, isso é só o começo, depois piora!):

Repr .Binár ia Potência Repr .Decimal

1 2 0 1

10 2 1 2

100 2 2 4

1000 2 3 8

10000 2 4 16

100000 2 5 32

1000000 2 6 64

10000000 2 7 128

100000000 2 8 256

1000000000 2 9 512

10000000000 2 10 1.024

Depois (e só depois) de compreender bem a tabela acima, fazendo a devida correlação

com a representação decimal, é conveniente decorar (aaaaaarrrrrrggggggghhhhhh!!!!!)

os valores da tabela. As conversões entre base dois e base dez e as potências de dois são

utilizadas a todo momento e seria perda de tempo estar toda hora convertendo. Da

mesma forma que, uma vez entendido o mecanismo da multiplicação, decoramos a

taboada, é muito mais efetivo saber de cor a tabela acima que fazer as contas de

conversão toda vez que for necessário.

A representação binária é perfeitamente adequada para utilização pelos computadores.

No entanto, um número representado em binário apresenta muitos bits, ficando longo e

passível de erros quando manipulado por seres humanos normais como por exemplo os

programadores, analistas e engenheiros de sistemas (bem, não tão normais assim ...).

Para facilitar a visualização e manipulação por programadores de grandezas processadas

em computadores, são usualmente adotadas as representações octal (base 8) e

principalmente hexadecimal (base 16). Ressaltamos mais uma vez que o computador

opera apenas na base 2 e as representações octal e hexadecimal não são usadas no

computador, elas se destinam apenas à manipulação de grandezas pelos programadores.

Representação em Octal e em Hexadecimal

Em projetos de informática (isto é, nos trabalhos realizados pelos programadores,

analistas e engenheiros de sistemas), é usual representar quantidades usando sistemas

em potências do binário (octal e principalmente hexadecimal), para reduzir o número de

algarismos da representação e conseqüentemente facilitar a compreensão da grandeza e

evitar erros. No sistema octal (base 8), cada tres bits são representados por apenas um

algarismo octal (de 0 a 7). No sistema hexadecimal (base 16), cada quatro bits são

representados por apenas um algarismo hexadecimal (de 0 a F).

A seguir, apresentamos uma tabela com os números em decimal e sua representação

correspondente em binário, octal e hexadecimal:

Base 10 Base 2 Base 8 Base 16

0 0 0 0

1 1 1 1

2 10 2 2

3 11 3 3

4 100 4 4

5 101 5 5

6 110 6 6

7 111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

Nota: a base 16 ou sistema hexadecimal pode ser indicada também por um "H" ou "h"

após o número; por exemplo: FFH significa que o número FF (ou 255 em decimal) está

em hexadecimal. Não confundir o "H" ou "h" com mais um dígito, mesmo porque em

hexadecimal só temos algarismos até "F" e portanto não existe um algarismo "H".

Exemplo: Como seria a representação do número 1610 em binário, octal e hexadecimal?

Solução: Seria respectivamente 100002, 208 e 1016.

Conver sões entre Bases

Vamos analisar agora as regras gerais para converter números entre duas bases

quaisquer.

Conversões entr e as bases 2, 8 e 16

As conversões mais simples são as que envolvem bases que são potências entre si.

Vamos exemplificar com a conversão entre a base 2 e a base 8. Como 2 3 = 8, separando

os bits de um número binário em grupos de tres bits (começando sempre da direita para

a esquerda!) e convertendo cada grupo de tres bits para seu equivalente em octal,

teremos a representação do número em octal. Por exemplo:

101010012 = 10.101.0012 (separando em grupos de 3, sempre começando da direita para

a esquerda)

Sabemos que 0102 = 28 ; 1012 = 58 ; 0012 = 18 portanto 101010012 = 2518

Se você ainda não sabe de cor, faça a conversão utilizando a regra geral. Vamos agora

exemplificar com uma conversão entre as bases 2 e 16. Como 2 4 = 16, basta separarmos

em grupos de 4 bits (começando sempre da direita para a esquerda!) e converter. Por

exemplo:

110101011012 = 110.1010.11012 (separando em grupos de 4 bits, sempre começando da

direita para a esquerda)

Sabemos que 1102 = 616; 10102 = A16 ; 11012 = D16 ; portanto 110101011012 = 6AD16

Vamos agora exercitar a conversão inversa. Quanto seria 3F5H (lembrar que o H está

designando "hexadecimal") em octal? O método mais prático seria converter para

binário e em seguida para octal.

3F5H = 11.1111.01012 (convertendo cada dígito hexadecimal em 4 dígitos binários) =

= 1.111.110.1012 (agrupando de tres em tres bits) =

= 17658 (convertendo cada grupo de tres bits para seu valor equivalente em octal).

Conversão de Númer os em uma base b qualquer para a base 10

Vamos lembrar a expressão geral já apresentada:

Nb = an.b n + .... + a2.b 2 + a1.b 1 + a0.b 0 + a1

.b 1

+ a2

.b 2

+ .... + an

.b n

A melhor forma de fazer a conversão é usando essa expressão. Tomando como exemplo

o número 1011012, vamos calcular seu valor representado na base dez. Usando a

expressão acima, fazemos:

1011012 = 1x2 5 + 0x2 4 + 1x2 3 + 1x2 2 + 0x2 1 + 1x2 0 = 32 + 0 + 8 + 4 + 0 + 1 = 4510

Podemos fazer a conversão de números em qualquer base para a base 10 usando o

algoritmo acima.

Exemplos:

a) Converter 4F5H para a base 10 .

Solução: Lembramos que o H significa que a representação é hexadecimal (base 16).

Sabemos ainda que F16=1510. Então:

4x16 2 + 15x16 1 + 5x16 0 = 4x256 + 15x16 + 5 = 1024 + 240 + 5 = 126910

b) Converter 34859 para a base 10.

Solução: 3x9 3 + 4x9 2 + 8x9 1 + 5x9 0 = 3x729 + 4x81 + 8x9 + 5 = 2187 + 324 + 72 + 5 =

258810.

c) Converter 7G16 para a base 10.

Solução: Uma base b dispõe dos algarismos entre 0 e (b1).

Assim, a base 16 dispõe dos

algarismos 0 a F e portanto o símbolo G não pertence à representação hexadecimal.

d) Converter 1001,012 para a base 10.

Solução: 1x2 3 + 0x2 2 + 0x2 1 + 1x2 0 + 0x2 1

+ 1x2 2

= 8 + 0 + 0 + 1 + 0 + 0,25 = 9,2510

e) Converter 34,35 para a base 10.

Solução: 3x5 1 + 4x5 0 + 3x5 1

= 15 + 4 + 0,6 = 19,610

f) Converter 38,38 para a base 10.

Solução: Uma base b dispõe dos algarismos entre 0 e (b1).

Assim, a base 8 dispõe dos

algarismos 0 a 7 e portanto o algarismo 8 não existe nessa base. A representação 38,3

não existe na base 8.

Conversão de Númer os da Base 10 para uma Base b qualquer

A conversão de números da base dez para uma base qualquer emprega algoritmos que

serão o inverso dos acima apresentados. Os algoritmos serão melhor entendidos pelo

exemplo que por uma descrição formal. Vamos a seguir apresentar os algoritmos para a

parte inteira e para a parte fracionária:

Par te Inteira:

O número decimal será dividido sucessivas vezes pela base; o resto de cada divisão

ocupará sucessivamente as posições de ordem 0, 1, 2 e assim por diante até que o resto

da última divisão (que resulta em qüociente zero) ocupe a posição de mais alta ordem.

Veja o exemplo da conversão do número 1910 para a base 2:

Experimente fazer a conversão contrária (retornar para a base 10) e ver se o resultado

está correto.

Par te Fr acionár ia

Se o número for fracionário, a conversão se fará em duas etapas distintas: primeiro a

parte inteira e depois a parte fracionária. Os algoritmos de conversão são diferentes. O

algoritmo para a parte fracionária consiste de uma série de multiplicações sucessivas do

número fracionário a ser convertido pela base; a parte inteira do resultado da primeira

multiplicação será o valor da primeira casa fracionária e a parte fracionária será de novo

multiplicada pela base; e assim por diante, até o resultado dar zero ou até encontrarmos

o número de casas decimais desejado. Por exemplo, vamos converter 15,6510 para a base

2, com 5 e com 10 algarismos fracionários:

Obs.: Em ambos os casos, a conversão foi interrompida quando encontramos o número

de algarismos fracionários solicitadas no enunciado. No entanto, como não encontramos

resultado 0 em nenhuma das multiplicações, poderíamos continuar efetuando

multiplicações indefinidamente até encontrar (se encontrarmos) resultado zero. No caso

de interrupção por chegarmos ao número de dígitos especificado sem encontramos

resultado zero, o resultado encontrado é aproximado e essa aproximação será função do

número de algarismos que calcularmos. Fazendo a conversão inversa, encontraremos:

Com 5 algarismos fracionários:

Parte inteira: 11112 = 1510

Parte fracionária: 0,101002 = 1x2 1

+ 0x2 2

+ 1x2 3

+ 0x2 4

+ 0x2 5

= 0,5 + 0,125 = 0,62510

Com 10 algarismos fracionários:

Parte inteira: 11112 = 1510

Parte fracionária: 0,10100110012 = 1x2 1

+ 0x2 2

+ 1x2 3

+ 0x2 4

+ 0x2 5

+ 1x2 6

+ 1x2 7

+ 0x2 8

+ 0x2 9

+ 1x2 10

= 1/2 + 1/8 + 1/64 + 1/128 + 1/1024 = 0,5 + 0,125 + 0,015625 +

0,0078125 + 0,0009765625 = 0,649414062510

Ou seja, podemos verificar (sem nenhuma surpresa) que, quanto maior número de

algarismos forem considerados, melhor será a aproximação.

Conversão de Númer os entr e duas Bases quaisquer

Para converter números de uma base b para uma outra base b' quaisquer (isso é, que

não sejam os casos particulares anteriormente estudados), o processo prático utilizado é

converter da base b dada para a base 10 e depois da base 10 para a base b' pedida.

Exemplo: Converter 435 para ( )9.

435 = (4 x 5 + 3)10 = 2310 ==> 23/9 = 2 (resto 5) logo 435 = 2310 = 259

Ar itmética em Binár io

A taboada da soma aritmética em binário é muito simples. São poucas regras:

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0 (e " vai 1" para o dígito de ordem super ior )

1 + 1 + 1 = 1 (e " vai 1" par a o dígito de ordem super ior)

Exemplo:

Efetuar 011100 + 011010

Obs.: 1) Lembrese:

somase

as colunas da direita para a esquerda, tal como uma soma

em decimal.

Obs.: 2) No exemplo, são usadas, em seqüência, da direita para a esquerda, todas as

regrinhas acima.

Obs.: 3) Na primeira linha, em azul, é indicado o "vai um".

Obs.: 4) Por simplicidade, no exemplo estamos considerando os dois números positivos.

Solução:

11>

"vai um"

011100

011010+

110110

Vamos ver agora a taboada da subtração:

0 0

= 0

0 1

= 1 (" vem um do próximo" )

1 0

= 1

1 1

= 0

Obs.: Como é impossível tirar 1 de zero, o artifício é "pedir emprestado" 1 da casa de

ordem superior. Ou seja, na realidade o que se faz é subtrair 1 de 10 e encontramos 1

como resultado, devendo então subtrair 1 do dígito de ordem superior (aquele 1 que se

"pediu emprestado"). Vamos lembrar que esse algoritmo é exatamente o mesmo da

subtração em decimal a que já estamos acostumados desde o curso primério.

Exemplo:

Efetuar 111100 + 011010

Obs.: 1) Lembrese:

subtraise

as colunas da direita para a esquerda, tal como uma

subtração em decimal.

Obs.: 2) No exemplo, são usadas, em seqüência, da direita para a esquerda, todas as

regrinhas acima.

Obs.: 3) Na primeira linha, em vermelho, é indicado o "vem um".

Obs.: 4) Por simplicidade, no exemplo estamos considerando os dois números positivos.

Solução:

02>

"vem um"

11100

0101010010

Complemento a Base

A implementação do algoritmo da subtração em computadores é complexa, requerendo

vários testes. assim, em computadores a subtração em binário é feita por um artifício. O

método utilizado é o " Método do Complemento a Base" que consiste em encontrar o

complemento do número em relação à base e depois somar os números. Os

computadores funcionam sempre na base 2, portanto o complemento à base será

complemento a dois. Computadores encontram o complemento a dois de um número

através de um algoritmo que pode ser assim descrito:

se

o númer o é positivo, mantenha o númer o (o complemento de um número

positivo é o própr io númer o)

se

o númer o é negativo:

inver

ta o númer o negativo ou o subtraendo na subtração (todo 1 vira zero, todo

zer o vir a um)

some

1 ao número em complemento

some

as par celas (na subtração, some o minuendo ao subtraendo)

se

a soma em complemento acar r etar " vaium"

ao r esultado, ignore o

transpor te final)

Como exemplo, vamos usar o algoritmo acima na subtração 1101 1100

= 0001

mantém o minuendo >

1101

inverte o subtraendo >

0011

soma minuendo e

subtraendo >

10000

soma 1 >

10001

ignora o "vaium"

>

0001

Este algoritmo será analisado em detalhes na seção Representação de Números

Negativos em Complemento. Vamos ver agora a taboada da multiplicação:

0 x 0 = 0

0 x 1 = 0

1 x 0 = 0

1 x 1 = 1

No entanto, também a multiplicação em computadores é feita por um artifício: para

multiplicar um número A por n, basta somar A com A, n vezes. Por exemplo, 4 x 3 = 4

+ 4 + 4. E a divisão também pode ser feita por subtrações sucessivas! O que

concluímos? Que qualquer operação aritmética pode ser realizada em computadores

apenas através de somas (diretas ou em complemento)! Legal, mas para que serve isso?

Por enquanto, ficamos por aqui. No capítulo sobre Circuitos Lógicos veremos como

essas propriedades serão úteis para os engenheiros que projetam os computadores!

Uns exercícios um pouco diferente, para desenvolver o raciocínio:

a) Durante uma exploração, a arqueóloga Lar Acroft encontrou numa escavação uma

pedra gravada com os seguintes caracteres:

%@#%

# # # &

%&#&%

Concluindo brilhantemente (e com uma boa dose de adivinhação) que os símbolos

correspondiam a uma operação de adição entre dois números positivos e que todos os

algarismos usados pela antiga civilização estão presentes na gravação, determine a base

de numeração utilizada, o algarismo arábico correspondente a cada símbolo e a

representação das parcelas e do resultado da adição, convertidas para a base 10.

b) O Sr. M. recebeu certo dia um email

de seu agente Jaime Bonde, que estava em

missão. O email

continha apenas o seguinte texto:

SEND

MORE

MONEY

Concluindo (também) brilhantemente (e também com uma boa dose de adivinhação)

que os símbolos correspondiam a uma operação de adição entre dois números positivos

representados em decimal (Jaime NÃO era forte em informática!), o Sr. M. raciocinou e

então enviou ao agente uma determinada quantia. Quanto o Sr. M. enviou para seu

agente J. Bonde?
 
 
Creditos
Professor João R Vasconcelos
 
 

Nenhum comentário:

 
User-agent: Mediapartners-Google* Disallow: