26

Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem
Page 2: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem
Page 3: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

AutorJosé Jesse GonçalvesGraduado em Licenciatura em Matemática pela Universidade Estadual de São Paulo - UNESP, de Presidente Prudente (1995), com especialização em Análise de Sistemas (1999) e mestrado em Gestão do Conhecimento e da Tecnologia da Informação (2008), ambos pela UCB . Foi professor em cursos de Sistemas de Informação do ensino superior, além de desenvolvedor e roteirista de cursos de Educação a Distância. Possui publicações na área de Informática na Educação e, atualmente, é Gerente de Projetos do Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira (Inep).

RevisãoNT Editora e Figuramundo

Projeto GráficoNT Editora

Editoração EletrônicaNT Editora e Figuramundo

CapaNT Editora

NT Educação, uma empresa do Grupo NTSCS Q2 - Bl. D - Salas 307 e 308 - Ed. Oscar NiemeyerCEP 70316-900 - Brasília - DFFone: (61) [email protected] e www.grupont.com.br

Introdução à Lógica de Programação. / NT Editora.

-- Brasília: 2013. 135p. : il. ; 21,0 X 29,7 cm.

ISBN - 978-85-68004-63-0

1. Lógica de Programação. 2. Algoritmos. 3. Programação de

Computadores. 4. Treinamento interativo

Copyright © 2014 por NT Editora.Nenhuma parte desta publicação poderá ser reproduzida por

qualquer modo ou meio, seja eletrônico, fotográfico, mecânico ou outros, sem autorização prévia e escrita da NT Editora.

Page 4: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

LEGENDA

ÍCONES

Prezado(a) aluno(a),Ao longo dos seus estudos, você encontrará alguns ícones na coluna lateral do material didático. A presença desses ícones o ajudará a compreender melhor o conteúdo abor-dado e também como fazer os exercícios propostos. Conheça os ícones logo abaixo:

Saiba MaisEste ícone apontará para informações complementares sobre o assunto que você está estudando. Serão curiosidades, temas afins ou exemplos do cotidi-ano que o ajudarão a fixar o conteúdo estudado.

ImportanteO conteúdo indicado com este ícone tem bastante importância para seus es-tudos. Leia com atenção e, tendo dúvida, pergunte ao seu tutor.

DicasEste ícone apresenta dicas de estudo.

Exercícios Toda vez que você vir o ícone de exercícios, responda às questões propostas.

Exercícios Ao final das lições, você deverá responder aos exercícios no seu livro.

Bons estudos!

Page 5: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

4 NT Editora

Sumário

1. LÓGICA ............................................................................................................. 9

2. SISTEMAS NUMÉRICOS ................................................................................ 112.1 Sistemas numéricos ...............................................................................................................112.2 Base decimal ............................................................................................................................132.3 Base binária ..............................................................................................................................142.4 Base hexadecimal ...................................................................................................................162.5 Operações com bases ...........................................................................................................182.6 Conversão de bases ...............................................................................................................202.7 Usando a calculadora do Windows ..................................................................................21

3. NÍVEIS DE LINGUAGEM DE PROGRAMAÇÃO ............................................. 263.1 Linguagem de máquina .......................................................................................................263.2 Linguagem de baixo nível ...................................................................................................283.3 Linguagem de alto nível ......................................................................................................293.4 Compiladores, interpretadores e sistemas híbridos ..................................................29

4. LÓGICA DE PROGRAMAÇÃO E ALGORITMOS ............................................ 334.1 Lógica de programação .......................................................................................................334.2 Algoritmos ................................................................................................................................354.3 Construção de algoritmos ...................................................................................................364.4 Formas de representação de algoritmos .......................................................................44

5. OPERAÇÕES COM VARIÁVEIS ...................................................................... 525.1 Variáveis .....................................................................................................................................525.2 Constantes ................................................................................................................................555.3 Tipos básicos de dados .........................................................................................................565.4 Expressões aritméticas .........................................................................................................575.5 Operadores aritméticos .......................................................................................................585.6 Expressões lógicas .................................................................................................................595.7 Operadores relacionais ........................................................................................................615.8 Operadores lógicos ................................................................................................................63

Page 6: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

Introdução à Lógica de Programação 5

6. ESTRUTURAS DE SELEÇÃO .......................................................................... 696.1 Introdução ................................................................................................................................696.2 Estrutura de seleção simples ..............................................................................................726.3 Estrutura de seleção composta .........................................................................................746.4 Estrutura de seleção encadeada .......................................................................................776.5 Estrutura de seleção de múltipla escolha ......................................................................80

7. ESTRUTURAS DE REPETIÇÃO ....................................................................... 887.1 Introdução ................................................................................................................................887.2 Enquanto...faça ........................................................................................................................897.3 Repita...até ................................................................................................................................937.4 Para...faça ...................................................................................................................................957.5 Comparando as estruturas de repetição .......................................................................97

8. VETORES ....................................................................................................... 1038.1 Variáveis compostas homogêneas ................................................................................ 1038.2 Vetores ..................................................................................................................................... 1048.3 Ordenação de vetores ....................................................................................................... 1058.4 Pesquisa em vetores ........................................................................................................... 111

9. MODULARIZAÇÃO ...................................................................................... 1199.1 Subdividindo o problema ................................................................................................ 1199.2 Procedimento ....................................................................................................................... 1199.3 Variáveis globais e locais ................................................................................................... 1239.4 Passagem de parâmetros ................................................................................................. 1259.5 Funções ................................................................................................................................... 126

BIBLIOGRAFIA ................................................................................................. 135

Page 7: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem
Page 8: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

APRESENTAÇÃO

7Introdução à Lógica de ProgramaçãoSUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

O aparecimento dos recursos da informática certamente trouxe muitas facilidades para nossas vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem programas, aplicativos e outros recursos que milhares de pessoas utilizam diariamente no trabalho, nos estudos ou para entretenimento.

A informática está em constante expansão. Assim, o trabalho dos programadores é essencial e atrai o interesse de muitas pessoas. Se você é um dos interessados nesse trabalho, este curso vai ajudá-lo a desenvolver a lógica de programação, que é indispensável para um bom programador. A lógica de programação refere-se ao raciocínio utilizado pelo homem para resolver problemas do mundo computacional. Mesmo com o conhecimento de várias linguagens de programação, não é possível desenvolver um programa sem utilizar a lógica.

Neste curso, você aprenderá os conceitos básicos de programação sem que seja necessário uti-lizar uma linguagem de programação. Depois de conhecer alguns conceitos importantes como, por exemplo, sistemas numéricos e níveis de linguagem de programação, você começará a desenvolver a lógica de programação a partir da elaboração de algoritmos para resolver alguns problemas que po-dem compreender desde a troca do pneu de um carro até a resolução de difíceis cálculos matemáticos.

Se você quer se tornar um bom programador, está no caminho certo. Ao aprender os conceitos ensinados neste curso, você obterá o alicerce para construir programas bem elaborados e eficientes do começo ao fim. Então, mãos à obra e bons estudos!

Page 9: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem
Page 10: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

9Introdução à Lógica de ProgramaçãoSUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

1. LÓGICA

Em geral, associamos a lógica à matemática e nem percebemos que a utilizamos o tempo todo. A lógica é a ferramenta que nosso raciocínio utiliza para realizar uma determinada ação da maneira mais eficaz, ordenada e menos trabalhosa possível. Todas as ações, por mais simples que sejam, encai-xam-se nesta situação. Assim, usamos a lógica para cozinhar um ovo, trocar um pneu, atravessar a rua, escovar os dentes, trocar uma lâmpada, etc. Aplicamos a lógica para solucionar problemas simples como o do exemplo abaixo.

Vera é mais velha que Tânia.Tânia é mais velha que Ana.

Portanto, Vera é mais velha que Ana.

Considerando que Vera é mais velha que Tânia e que Tânia é mais velha que Ana, facilmente concluímos que Vera é mais velha que Ana.

Basta pararmos para analisar nossas ações cotidianas para ver que aplicamos a lógica a todo instante. Ao mascar um chiclete, por exemplo, tiramos primeiro o papel da embalagem para depois mastigá-lo.

O uso da lógica torna-se mais evidente nos problemas mais complexos. Vejamos, por exemplo, o caso de um funcionário responsável pela alimentação das cobras de um instituto que se deparou com o seguinte problema:

Três cobras comem três ratos em três minutos. 100 cobras comem 100 ratos

em quantos minutos?

Se não pusermos ordem em nosso raciocínio, poderemos cometer erros ao tentar solucionar esse problema.

Page 11: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

10 NT Editora SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

A lógica que usamos no dia a dia é a mesma lógica usada na programação?

Podemos dizer que sim, pois na programação também temos que ordenar nossos pensamentos para elaborar os programas de forma correta e com qualidade para atingir um objetivo determinado. No processamento de dados, a lógica é a maneira de organizar e representar as instruções por meio da linguagem que estamos utilizando para compor um programa a ser executado em um computador.

Antes de avançarmos no estudo da lógica de programação, é essencial entender alguns con-ceitos sobre computadores. Por isso, a lição 2 deste livro abordará os conceitos de sistema numérico e a lição 3, os níveis de linguagem de programação.

Page 12: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

11Introdução à Lógica de ProgramaçãoSUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Esta lição começa com a seguinte pergunta:Por que estudar sistemas numéricos em um curso de

lógica de programação?Nos dias de hoje, a utilização do computador pelo homem

é tão comum e frequente que, na maioria das vezes, as pessoas não percebem a forma como a comunicação en-tre o homem e o computador é feita. Tudo é tão comum e rotineiro que temos a impressão de que essa comunicação é direta, como se o computador “entendesse” nossa língua.

2.1 Sistemas numéricosNa verdade, essa comunicação entre o ser humano e o computador não é tão simples assim.

As informações que inserimos em um computador são traduzidas em sinais para que ele possa traba-lhar. Esses sinais (os chamados dados), a princípio brutos e sem significado para nós, são manipulados e transformados em padrões que podemos compreender. Assim, quando inserimos informações em um computador, elas são traduzidas em dados, ou seja, em sinais que podem ser manipulados pelo computador. O computador trabalha com esses dados até atingir o resultado desejado e os traduz para padrões que possamos entender, ou seja, retorna as informações para nós.

Será que esses dados são letras? Textos? Como são esses dados?

Em um primeiro momento, podemos até pensar que os dados de um computador são letras, mas não é exatamente assim. O computador só manipula números. Textos, números e símbo-los são convertidos em números para que o computador possa trabalhar. Vejamos um exem-plo de conversão com uma palavra qualquer:

BOCA

Ao digitar esta palavra em um editor de textos de um computador, o que enxergamos na tela são quatro letras que formam a palavra boca. No entanto, para o computador, esta palavra é um agru-pamento de números. Podemos dizer que o computador lê essa palavra de forma semelhante à repre-sentação a seguir:

2. SISTEMAS NUMÉRICOS

Page 13: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

12 NT Editora SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

98 111 99 97

B O C A

Essa é uma representação da palavra BOCA no sistema numérico decimal. Este é o sistema nu-mérico com o qual estamos acostumados a lidar, pois é nosso sistema padrão. O computador, por sua vez, não usa o sistema numérico decimal, pois só “enxerga” sequências de zeros e uns. Assim, em nosso exemplo com a palavra BOCA, teremos a seguinte representação:

0110 0010 0110 1111 0110 0011 0110 0001

B O C A

Essa forma de trabalho do computador nos traz a necessidade de abordar as noções básicas de alguns sistemas numéricos. Ao estudar alguns desses sistemas, percebemos que a diferença entre eles está apenas na maneira de representar quantidades. Quando empregamos, por exemplo, o símbolo “5”, estamos nos referindo a uma quantidade, mas poderíamos representar essa mesma quantidade com outro símbolo.

A diferença de representação de quantidades entre os sistemas numéricos está nos símbolos utilizados para representações e, muitas vezes, essa diferença está apenas na quantidade de símbo-los utilizados. No sistema decimal (o sistema com o qual estamos acostumados a lidar), existem dez símbolos diferentes para representar as quantidades. Por isso, esse sistema é chamado de “sistema de base 10”. No sistema de base 16, existem 16 símbolos distintos. No sistema de base 2, existem 2 símbolos, e assim por diante.

Exercitando o conhecimento...

Por que o sistema binário foi o sistema numérico adotado para os computadores?

...

já sabemos que o cálculo humano é diferente do computacional, não é verdade? Mas por que o sistema binário foi o adotado para computadores? Esse sistema representa os valores com apenas dois algarismos: 0 (zero) ou 1 (um) – ou seja, possui base dois, portanto, é mais simples para a execução das máquinas.

Page 14: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

13Introdução à Lógica de ProgramaçãoSUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

A seguir, analisaremos três importantes bases numéricas no mundo dos computadores: a base decimal, que é utili-zada para entrada e saída dos dados; a base binária, que é utilizada para os cálculos internos, e a base hexadecimal, uma forma compacta de representação interna. Embora os sistemas numéricos sejam distintos, eles utilizam uma

lógica matemática para representar os números.

2.2 Base decimalTudo indica que os dedos de nossas mãos são os grandes responsáveis pela adoção do sistema

decimal como o sistema numérico padrão de muitas culturas. Basta notar que as crianças, quando estimuladas, aprendem a contar até dez muito antes de aprender valores maiores, pois utilizam os dedos das mãos.

Contudo, na base decimal, iniciamos a contagem com o zero, pois utilizamos os algarismos de 0 a 9 para representarmos os números.

0 1 2 3 4 5 6 7 8 9

Os números acima de 9 usarão dois ou mais algarismos de 0 a 9 para serem representados. O número dez, por exemplo, significa 9+1, ou seja, é o número seguinte ao 9 e será representado por 10. Essa representação possui um significado. O número 1 indica a quantidade de vezes que utilizamos a sequência de algarismos do sistema, e o 0 indica que estamos no primeiro número desta nova sequência.

Os outros sistemas numéricos empregam essa mesma lógica na utilização de seus símbolos, ou seja, são usados ordenadamente em uma posição. Quando essa posição atinge o maior índice, ela recebe o valor nulo do sistema numérico em que está, e a posição seguinte deve ser aumentada em uma unidade. Assim, no sistema decimal: 9+1 = 10, 29+1 = 30, 189+1 = 190, 1999+1 = 2000, etc.

Essa lógica de representação dos números é utilizada também nos outros sistemas numéricos, o que facilita nossa compreensão.

Exercitando o conhecimento...

Faça a conversão para decimal dos números a seguir.

a) 10012

b) 7A16

c) 11011012

d) B616

e) 1002

Page 15: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

14 NT Editora SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

...

Você já deve estar craque nas conversões. Vejamos...

a) 1x1+0x2+0x4+1x8 = 9

b) 01111010 = 0x1+2x1+0x4+1x8+1x16+1x32+1x64+0x128 = 122

c) 1x1+0x2+1x4+1x8+0x16+1x32+1x64 = 109

d) 10110110 = 0x1+1x2+1x4+0x8+1x16+1x32+0x64+1x128 = 182

e) 0x1+0x2+1x4 = 4

2.3 Base bináriaO sistema binário só utiliza 2 algarismos, 0 e 1. Como já vimos anteriormente, podemos imagi-

nar o computador como uma máquina que armazena grande quantidade de algarismos 0 e 1 agrupa-dos de forma que possam produzir informações. Portanto, o sistema numérico utilizado internamente pelo computador é o sistema binário.

Mas por que utilizar apenas 0 e 1?

Com os algarismos 0 e 1, podemos representar dois estados fundamentais, o estado ligado (1) e o estado desligado (0). São duas condições opostas e inconfundíveis que podem ser descritas, tam-bém, como Verdadeiro ou Falso, Aberto ou Fechado, etc. Aí está a resposta. É muito mais fácil construir equipamentos que distingam essas duas condições opostas que construir equipamentos que distin-gam um número maior de condições.

Como podemos trabalhar com números maiores que 1 no sistema binário?

Com a utilização da mesma lógica utilizada no sistema decimal. Para o número seguinte ao número 1, teremos o 10 (um-zero), pois o número 1 indica a quantidade de vezes que utilizamos a se-quência de algarismos do sistema binário (0 e 1) e o número 0 indica que estamos no primeiro número desta nova sequência.

Para visualizarmos esse interessante sistema, vamos representar os algarismos 0 e 1 com lâm-padas, deixando a lâmpada apagada para o número 0 e acesa para o número 1. Aí estão todas as combinações possíveis para as duas lâmpadas:

Temos, então, quatro combinações possíveis com os algarismos. São elas: 00, 01, 10 e 11 ou 0, 1, 10 e 11 respectivamente. Se, para uma máquina, identificar os dois estados representados pelas lâmpadas é uma tarefa simples, então é relativamente fácil armazenar a combinação desses estados para, por exemplo, duas lâmpadas.

Page 16: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

15Introdução à Lógica de ProgramaçãoSUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Vejamos a combinação para três lâmpadas:

Vamos, agora, comparar o padrão de representação do sistema binário com o padrão de repre-sentação do sistema numérico decimal:

Binário (base 2) Decimal (base 10)

0 0

1 1

10 2

11 3

100 4

101 5

110 6

111 7

1000 8

1001 9

Portanto, representando as três lâmpadas a partir dos algarismos correspondentes, poderemos armazenar oito quantidades diferentes.

Então o computador possui milhares de lâmpadas microscópicas que acendem e apagam de acordo com os dados registrados?

Não é bem assim. Na verdade, a CPU de um computador moderno é composta por milhões de transistores. Cada transistor pode guardar um dado. Este dado, por sua vez, pode apresentar a situ-ação “ligado” ou “desligado”. Ou seja, a situação desligado representa o 0 binário e a situação ligado representa o 1 binário. Cada dado que o transistor guarda ( 0 ou 1) é chamado de “bit” (binary digit), o que significa que um computador pode guardar milhares de bits.

Page 17: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

16 NT Editora SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Exercitando o conhecimento...

Faça a conversão para binário dos números a seguir.

a) 5

b) C16

c) 516

d) 101

e) 1968

...

Veja como fica a conversão para binário dos números anteriores:

a) 101.

b) 1100.

c) 101.

d) 1100101.

e) 11110110000.

2.4 Base hexadecimalVimos que, com três dígitos no sistema numérico binário, podemos representar somente oito

números distintos. Assim, para representar os números no sistema numérico binário, será necessário ter grande quantidade de dígitos (cadeias de zeros e uns), o que pode tornar o processo muito con-fuso. Por isso, é utilizado um sistema numérico que representa os números binários com um número menor de dígitos, o sistema hexadecimal.

O sistema numérico hexadecimal é um sistema de base 16, ou seja, utiliza 16 símbolos para representar os números. Para os números acima de 9, o sistema hexadecimal utiliza letras do alfabeto para representá-los. Na tabela abaixo, estão todos os símbolos do sistema hexadecimal e seus corres-pondentes nos sistemas numéricos decimal e binário.

Hexadecimal Decimal Binário

0 0 0

1 1 1

2 2 10

3 3 11

4 4 100

Page 18: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

17Introdução à Lógica de ProgramaçãoSUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

5 5 101

6 6 110

7 7 111

8 8 1000

9 9 1001

A 10 1010

B 11 1011

C 12 1100

D 13 1101

E 14 1110

F 15 1111

Ao comparar os sistemas hexadecimal e binário, podemos perceber que apenas um dígito no sistema hexadecimal é capaz de representar qualquer número binário de quatro dígitos. Para com-preender esta afirmação, basta reparar no maior dígito hexadecimal, o F, que corresponde ao binário 1111. Sendo assim, um único dígito hexadecimal é capaz de representar qualquer combinação de 4 bits e, consequentemente, com dois dígitos hexadecimais podemos representar qualquer combina-ção de 8 bits, o chamado byte.

1 byte = 8 bits

Quando não utilizamos o sistema decimal para representar os números, utilizamos um subscri-to logo em seguida ao número com o valor da base que estamos utilizando. Nos hexadecimais, por exemplo, o subscrito é o 16.

9816, 7F16, 6A16 , etc.

Os hexadecimais podem, ainda, ser indicados pela colocação das letras “h” ou “H” seguidas ao número ou pela colocação da letra “X”, que é menos comum.

98h, 7FH, 6AX, etc.

Atenção! Note que o “h” e o “X” não fazem parte do número, já que os símbolos do sistema hexadecimal vão somente até o F.

Page 19: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

18 NT Editora SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Exercitando o conhecimento

Faça a conversão para hexadecimal dos números a seguir.

a) 01010112

b) 15

c) 16

d) 11112

e) 111002

...

Confira a conversão para hexadecimal:

a) 0010 1011 = 2B

b) 15 = F

c) 16 = 10

d) 1111 = 15

e) 1 1100 = 1C

2.5 Operações com basesTrabalhar com soma e multiplicação no sistema binário é bem simples e semelhante ao sistema

decimal. Essas operações são definidas pelas tabelas abaixo.

+ 1 0 x 1 0

1 10 1 1 1 0

0 1 0 0 0 0

Para a soma, não há segredo. Observe na tabela a soma 1 mais 1. O resultado é igual a 2 (dois), ou seja, temos o que chamamos de “vai um”. Veja o exemplo a seguir.

100101 + 11110 1000011

A multiplicação também segue os mesmos padrões do sistema decimal. Cada dígito do mul-tiplicador multiplica individualmente o multiplicando. O resultado, por sua vez, é multiplicado pelo peso do dígito. Depois, os resultados são somados:

Page 20: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

19Introdução à Lógica de ProgramaçãoSUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

115 x 242 230 (115 x 2 x 1) 460 (115 x 4 x 10) 230 + (115 x 2 x 100) 27830

No exemplo acima, omitimos os zeros resultantes da multiplicação pelos pesos. Assim, apenas um deslocamento para a esquerda foi feito.

A multiplicação binária segue o mesmo método. Cabe ressaltar que, em qualquer sistema, o deslocamento é feito pela multiplicação pelo peso da base. Exemplo: no sistema decimal, multiplica-se por 10. No sistema binário, por 2.

1101 x 101 1101

0000 + 1101

1000001

Para somar os números hexadecimais, podemos nos guiar pela tabela a seguir.

+ 0 1 2 3 4 5 6 7 8 9 A B C D E F

0 0 1 2 3 4 5 6 7 8 9 A B C D E F

1 1 2 3 4 5 6 7 8 9 A B C D E F 10

2 2 3 4 5 6 7 8 9 A B C D E F 10 11

3 3 4 5 6 7 8 9 A B C D E F 10 11 12

4 4 5 6 7 8 9 A B C D E F 10 11 12 13

5 5 6 7 8 9 A B C D E F 10 11 12 13 14

6 6 7 8 9 A B C D E F 10 11 12 13 14 15

7 7 8 9 A B C D E F 10 11 12 13 14 15 16

8 8 9 A B C D E F 10 11 12 13 14 15 16 17

9 9 A B C D E F 10 11 12 13 14 15 16 17 18

A A B C D E F 10 11 12 13 14 15 16 17 18 19

B B C D E F 10 11 12 13 14 15 16 17 18 19 1A

C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B

D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C

E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D

F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E

Page 21: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

20 NT Editora SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

2.6 Conversão de basesVamos, agora, conhecer alguns métodos de conversão de uma base B não decimal para uma

base decimal e vice-versa, já que temos maior facilidade para trabalhar com o sistema decimal, que é nosso sistema numérico padrão.

Para compreendermos melhor um método de conversão de uma base B para uma base 10, vamos recombinar 196710 da seguinte maneira:

1000 1 x 103 900 9 x 102 60 6 x 101 + 7 +7 x 100 1967 1967

Vejamos, então, na base binária:

11012 : 1000 1 x 23 100 1 x 22 00 0 x 21 + 1 + 1 x 20 1101 13

Então: 11012 = 1310

Na base hexadecimal:

18716 : 1 x 162 = 256 8 x 161 = 128 7 x 160 = + 7 391

Então: 18716 = 39110

Há uma outra forma semelhante de conversão de uma base B para a base decimal. Veja, a seguir, esta outra forma.

Para a parte inteira:

1. Multiplicar o dígito mais à esquerda pela base B;

2. Somar o resultado ao próximo dígito à direita;

3. Multiplicar o resultado da soma pela base B;

4. Repetir os passos 2 e 3 até que o último digito tenha sido somado.

Vejamos o exemplo a seguir:

Page 22: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

21Introdução à Lógica de ProgramaçãoSUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

18716 1 x 16 = 16 16 + 8 = 24 24 x 16 = 384 384 + 7 = 391

11012 1 x 2 = 2

2 + 1 = 3 3 x 2 = 6 6 + 0 = 6 6 x 2 = 12 12 + 1 = 13

Para converter um número decimal em uma base B, podemos seguir os seguintes passos:

Para a parte inteira:

1. Dividir o número decimal pela base B obtendo quociente e resto;

2. Dividir o quociente obtido pela base B obtendo novo quociente e resto;

3. Repetir o passo 2 até que o quociente seja 0;

4. O resultado é o agrupamento dos dígitos dos restos de trás para frente.

Vejamos o exemplo a seguir:

39110 para a base 16 391 |16 7 24|16 8 1|16 1 0 13 para a base 2 13 | 2 1 6 | 2 0 3 | 2 1 1 | 2 1 0

2.7 Usando a calculadora do WindowsA calculadora do Windows pode ser usada para conversões e cálculos

com base numérica.

Para acessar a calculadora, abra o menu Iniciar e posicione o cur-sor do mouse sobre o item Programas. Em seguida, posicione o cursor do mouse sobre o item Acessórios e clique na opção Calculadora.

A Calculadora é aberta no modo Padrão, que só trabalha com o sis-tema numérico decimal. Para que possamos trabalhar com outros sistemas

Page 23: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

22 NT Editora SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

numéricos, temos de acessar o modo Programador. Para isso, abra o menu Exibir e selecione a opção Programador.

Esta é a calculadora Progra-mador do Windows. A parte desta-cada mostra os sistemas numéricos disponíveis na calculadora, o sis-tema Hexadecimal (Hex), o siste-ma Decimal (Dec), o sistema Octal (Oct) e o sistema Binário (Bin). Por uma questão de padrão, ela é aber-ta no sistema decimal. Note que, além dos números no teclado da calculadora, surgem as letras A, B, C, D, E e F, que estão desabilitadas, pois não estamos no modo Hexa-decimal.

Para fazer a conversão de um número decimal para uma das bases disponíveis, basta digitar o número e, em seguida, selecionar a base desejada.

Em primeiro lugar, vamos fazer a conversão de 163110 para a base 16.

Com o cursor do mouse na calculadora, clique nos números 1, 6, 3 e 1. Se preferir, em vez de clicar com o cursor do mouse, você pode utilizar o teclado numérico. Para isso, a tecla <Num Lock> deve estar acionada.

Em seguida, selecione a opção Hex e a conversão será feita automaticamente.

Page 24: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

23Introdução à Lógica de ProgramaçãoSUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Observe que, ao selecionar a opção Hex, as letras A, B, C, D, E e F do teclado da calculadora foram habilitadas.

Agora, clique na opção Bin.

Facilmente obteremos os resultados 65F16 e 110010111112, que representam as equivalên-cias de 163110.

As operações nas bases Hexadecimal, Binária e Octal são feitas da mesma forma que na base decimal. Para realizar uma operação, basta inserir os números e clicar em um dos seguintes botões: / (divisão), * (multiplicação), - (subtração) e + (soma). Em seguida, é necessário clicar no botão = (igual) para obter o resultado.

Page 25: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

24 NT Editora SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Parabéns, você fina-lizou esta lição!

Agora responda às questões ao lado.

Efetuemos, como exemplo, a soma 24F16 + 1012.

Selecione a opção Hex e clique nos botões 2, 4 e F respectivamente. Agora, clique no botão + e selecione a opção Bin. Em seguida, clique nos botões 1, 0 e 1 novamente. Por último, clique no botão = (igual). Pronto! O resultado encontrado é 100110101002 ou 25416.

Como você constatou, é fácil executar operações entre núme-

ros de bases iguais ou mesmo diferentes usando a calculadora.

Exercícios

Questão 01 – No espaço abaixo, estão representados três contadores, um para cada um dos seguintes sistemas numéricos: decimal, binário e hexadecimal. Escreva o nome dos sistemas numéricos apresentados para seus respectivos contadores.

Questão 02 – Considerando os três sistemas numéricos, indique na tabela quais repre-sentações estão completamente corretas e quais apresentam erro.

Page 26: Autor - Grupo NT · 2016. 1. 13. · vidas. Essas facilidades são tantas que, na maioria das vezes, sequer nos damos conta do trabalho ár-duo de muitos profissionais que desenvolvem

25Introdução à Lógica de ProgramaçãoSUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Questão 03 – Assinale a alternativa que possui um número hexadecimal representado de maneira incorreta.

a) 53h

b) 13CX

c) 216

d) ABH

Questão 04 – Complete as lacunas das tabelas abaixo para que representem as opera-ções de soma e multiplicação no sistema numérico binário.

Questão 05 – No espaço apresentado a seguir, estão as regras de conversão de um nú-mero de uma base B qualquer para a base decimal e de um número na base decimal para uma base B qualquer. As regras aparecem misturadas e desordenadas. Separe as regras e ordene seus itens escrevendo-os para os campos correspondentes.

Conversão de um número de uma base B para a base decimal.

1.

2.

3.

4.

Conversão de um número decimal para uma base B.

1.

2.

3.

4.

O resultado é o agrupamento dos dígitos dos restos de trás para frente;

Somar o próximo dígito à direita;

Multiplicar a soma pela base B;

Dividir o quociente obtido pela base B obtendo quociente e resto;

Dividir o número decimal pela base B obtendo quociente e resto;

Multiplicar o dígito mais à esquerda pela base B;

Repetir o passo 2 até que o quociente seja 0;

Repetir os passos 2 e 3 até que o último digito tenha sido somado;

Regras