Furtado, Jorge. Documentário Ilha das Flores, 1989. 13 minutos aproximadamente.
Documentário “Ilha das Flores”
No documentário “Ilha das Flores”, de Jorge Furtado será interessante o leitor observar as questões abordadas no filme, nele o autor amplia a nossa percepção de certas particularidades da atual sociedade de consumo. Possuidora de grande riqueza obscurece o paradigma da desigualdade social que abrange a maioria da nossa Sociedade Consumista. Estabelecendo assim o oposto entre o consumo e o humanismo.
Por outro lado, a narrativa do documentário utiliza-se, de linguagem visual aparentemente simples e infantil, fazendo com que o telespectador reflita sobre a que chegou a pessoa humana, e nesse ínterim seu processo hegemônico estabelecido em “Ilha das flores’’. Algo comum no cotidiano daquele lugar.
A linguagem é simples, porém bastante lógica e com ela o autor lança luz, a situação deplorável a que chegou a condição humana, daquelas pessoas, na sua luta diária para conseguir um pouco de alimento em péssimas condições de higiene, entretanto necessário a sua sobrevivência. Por outro lado Alimento de boa qualidade é abundante em lojas e supermercados para alguns que podem pagar, e escassos para aqueles que não têm como pagar, restam-lhe as sobras.
Tudo isso nos remete a uma discussão desta situação exposta na película e estabelecida pelo sistema capitalista e hegemônico em que vivemos. “ “O vídeo nos afasta de certos discursos prontos, a exemplos: “A pobreza sempre existiu”, ou que “a causa da pobreza é natural”,” é uma determinação divina”.Já o oposto nos aproxima de pensadores como Karl Marx que em seus escritos,apresenta diferente opinião,quando expõe os efeitos da contradição entre o capitalismo e a classe trabalhadora,afirma ainda que a exclusão e a desigualdade são frutos do sistema econômico,que contribuiu para o crescimento do abismo social que se traduz em desigualdade social e indiferença.
É um documentário embora sério, mas divertido, é objetivo ao apresentar duas faces de uma mesma sociedade. e o grande contraste que há entre elas.É triste saber que nesse lugar animais vem em primeiro pessoas depois, na distribuição de sobras de alimentos mesmo em má condições de higiene e dignidade humana.
Até quando vamos virar os olhos a situações como esta,que acontece diariamente e muitas da vezes em nossa vizinhança.Veja o filme e tire suas próprias conclusões sobre o filme “Ilha das Flores.
Por Emanuel de Jesus Santos.
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$$,
Tweet #manufotos2
terça-feira, 13 de dezembro de 2011
Povoados dos Moinhos
Sistema interdependente
Um viajante chega a um lugarejo conhecido por muitos como Povoados dos moinhos. Lá não há energia elétrica e nem urbanização. Um dos personagens (Um idoso) ao ser indagado por um jovem viajante que por ali transitava, respondeu a seguinte pergunta. Como conseguiam viver sem tecnologia moderna? O ancião lhe respondeu que os inventos tornam as pessoas infelizes. Sendo que o mais importante para se ter uma boa vida, é ter ar puro e água limpa.
Nesse Episódio do filme Povoado de moinhos que é do cineasta japonês Akira Kurosawa. É tratar a relação dos seres humanos com o egoísmo e da destruição imposta a si mesmo e ao planeta. O documentário em sua maior parte fala da natureza e explora uma mensagem aos seres humanos sobre o mundo capitalista.
O protagonista, um velho sábio fala ao moço da metrópole, sobre a coisa que considera às mais importantes na vida de uma pessoa a água e o ar puro. E o fazendo raciocinar, pergunta lhe de que adianta tanto conforto, proporcionado pelas invenções da modernidade se hoje em dia não há paz e, além disso, a pessoa esquece-se de preservar a natureza, o que é fundamental para a vida de todos.O filme termina com uma lição: Um cortejo festivo que celebra a morte de uma senhora, que tinha 99 anos. Nada mais justo do que se despedir de uma pessoa que viveu muito bem e de forma completa com dança e música. Dessa forma, o mais tocante da obra de Kurosawa, é a grandeza de sentimentos. Além de ser um filme belíssimo, onde se nota harmonia perfeita entre homem e natureza. Tal é essa harmonia que se completam como um único sistema interdepende. Não deixe de ver esse filme!
por Emanuel de Jesus Santos
Um viajante chega a um lugarejo conhecido por muitos como Povoados dos moinhos. Lá não há energia elétrica e nem urbanização. Um dos personagens (Um idoso) ao ser indagado por um jovem viajante que por ali transitava, respondeu a seguinte pergunta. Como conseguiam viver sem tecnologia moderna? O ancião lhe respondeu que os inventos tornam as pessoas infelizes. Sendo que o mais importante para se ter uma boa vida, é ter ar puro e água limpa.
Nesse Episódio do filme Povoado de moinhos que é do cineasta japonês Akira Kurosawa. É tratar a relação dos seres humanos com o egoísmo e da destruição imposta a si mesmo e ao planeta. O documentário em sua maior parte fala da natureza e explora uma mensagem aos seres humanos sobre o mundo capitalista.
O protagonista, um velho sábio fala ao moço da metrópole, sobre a coisa que considera às mais importantes na vida de uma pessoa a água e o ar puro. E o fazendo raciocinar, pergunta lhe de que adianta tanto conforto, proporcionado pelas invenções da modernidade se hoje em dia não há paz e, além disso, a pessoa esquece-se de preservar a natureza, o que é fundamental para a vida de todos.O filme termina com uma lição: Um cortejo festivo que celebra a morte de uma senhora, que tinha 99 anos. Nada mais justo do que se despedir de uma pessoa que viveu muito bem e de forma completa com dança e música. Dessa forma, o mais tocante da obra de Kurosawa, é a grandeza de sentimentos. Além de ser um filme belíssimo, onde se nota harmonia perfeita entre homem e natureza. Tal é essa harmonia que se completam como um único sistema interdepende. Não deixe de ver esse filme!
por Emanuel de Jesus Santos
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
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
Algoritmo
Curso Superior De Tecnologia Analise e desenvolvimento de Sistema.
Centro Universitário Unijorge.
Ai Vai o primeiro Assunto da aula de topicos de Computação.
Algoritmos – Exercícios
Montar o fluxograma sabendo-se que:
1) É dada uma relação de peças, com os respectivos códigos, pede-se para imprimi-la,
sabendo que a última tem o código yrd 401. O valor do dado testado é obtido por leitura.
Pede-se usar uma estrutura com teste no final porque é sabido que haverá pelo menos
uma peça e que o flag está em um dado válido.
2) Pede-se ler uma série de nomes. O fim está assinalado pelo flag “fim”, que não deve ser
impresso.
3) Pede-se ler o nome, a quantidade e o preço unitário de uma mercadoria. Exibir estes
dados e o valor total da compra. Cada dado impresso, exceto o nome, deve ser
identificado por um literal (exemplo: Quantidade =).
4) Pede-se dar entrada ao valor de um número N. Se for positivo, calcular e exibir a raiz
quadrada. Se for negativo, exibir o valor de ( 1-N).
5) Pede-se ler dois números e imprimi-los. Se o primeiro for maior do que o segundo,
imprimir a diferença dos dois. Caso contrário, imprimir a soma.
6) São fornecidos os dados de duas peças. Para cada peça, temos : Código, Nome,
Número de Lote. Pede-se imprimir os nomes das peças, em ordem alfabética, e informar
se pertencem ao mesmo lote ou não.
7) Pede-se ler os pesos de 20 caixas de determinada mercadoria. Se a média dos pesos for
inferior a 50 Kg, avisar que ela está fora das especificações. Em qualquer dos casos,
informar o valor médio.
8) Pede-se ler os dados de um aluno: matrícula, nome, status (1 = cursando pela 1ª vez; 2 =
repetindo). Imprimir estes dados. Prever possíveis valores inválidos do status, emitindo
um aviso, caso ocorra.
9) Pede-se ler uma série de números positivos não nulos, cujo fim será indicado pelo valor
fictício (flag) zero. Imprimir o total dos números. Se o primeiro valor lido for flag, deverá
ser impresso apenas uma mensagem de inexistência de dados.
Credito
Professor João R.Vasconcellos
Centro Universitário Unijorge.
Ai Vai o primeiro Assunto da aula de topicos de Computação.
Algoritmos – Exercícios
Montar o fluxograma sabendo-se que:
1) É dada uma relação de peças, com os respectivos códigos, pede-se para imprimi-la,
sabendo que a última tem o código yrd 401. O valor do dado testado é obtido por leitura.
Pede-se usar uma estrutura com teste no final porque é sabido que haverá pelo menos
uma peça e que o flag está em um dado válido.
2) Pede-se ler uma série de nomes. O fim está assinalado pelo flag “fim”, que não deve ser
impresso.
3) Pede-se ler o nome, a quantidade e o preço unitário de uma mercadoria. Exibir estes
dados e o valor total da compra. Cada dado impresso, exceto o nome, deve ser
identificado por um literal (exemplo: Quantidade =
4) Pede-se dar entrada ao valor de um número N. Se for positivo, calcular e exibir a raiz
quadrada. Se for negativo, exibir o valor de ( 1-N).
5) Pede-se ler dois números e imprimi-los. Se o primeiro for maior do que o segundo,
imprimir a diferença dos dois. Caso contrário, imprimir a soma.
6) São fornecidos os dados de duas peças. Para cada peça, temos : Código, Nome,
Número de Lote. Pede-se imprimir os nomes das peças, em ordem alfabética, e informar
se pertencem ao mesmo lote ou não.
7) Pede-se ler os pesos de 20 caixas de determinada mercadoria. Se a média dos pesos for
inferior a 50 Kg, avisar que ela está fora das especificações. Em qualquer dos casos,
informar o valor médio.
8) Pede-se ler os dados de um aluno: matrícula, nome, status (1 = cursando pela 1ª vez; 2 =
repetindo). Imprimir estes dados. Prever possíveis valores inválidos do status, emitindo
um aviso, caso ocorra.
9) Pede-se ler uma série de números positivos não nulos, cujo fim será indicado pelo valor
fictício (flag) zero. Imprimir o total dos números. Se o primeiro valor lido for flag, deverá
ser impresso apenas uma mensagem de inexistência de dados.
Credito
Professor João R.Vasconcellos
Curso Superior de Tecnologia Analise e Desenvolvimento de Sistema
Olá galera,comecei cursar o curso de analise e desenvolvimento de sistema na Unijorge,em Salvador,Bahia,e vou estar transmitindo para vocês,todo o assunto dado no curso Valeu!
Assinar:
Postagens (Atom)