Buscar

Algoritmos_e_Programação_I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 65 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 65 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 65 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ALGORITMOS E PROGRAMAÇÃO I
Mário Roberto Klein Junior
SUMÁRIO
Esta é uma obra coletiva organizada por iniciativa e direção do CENTRO SU-
PERIOR DE TECNOLOGIA TECBRASIL LTDA – Faculdades Ftec que, na for-
ma do art. 5º, VIII, h, da Lei nº 9.610/98, a publica sob sua marca e detém os 
direitos de exploração comercial e todos os demais previstos em contrato. É 
proibida a reprodução parcial ou integral sem autorização expressa e escrita.
CENTRO UNIVERSITÁRIO UNIFTEC
Rua Gustavo Ramos Sehbe n.º 107. Caxias do Sul/ RS 
REITOR
Claudino José Meneguzzi Júnior
PRÓ-REITORA ACADÊMICA
Débora Frizzo
PRÓ-REITOR ADMINISTRATIVO
Altair Ruzzarin
DIRETOR DE ENSINO A DISTÂNCIA (EAD) 
Rafael Giovanella
Desenvolvido pela equipe de Criações para o Ensino a Distância (CREAD)
Coordenadora e Designer Instrucional 
Sabrina Maciel
Diagramação, Ilustração e Alteração de Imagem
Igor Zattera, Thaís Munhoz 
Revisora
Luana dos Reis
ALGORITMO 5
FRITANDO UM OVO 7
CONSTRUINDO UM ALGORITMO 9
RESUMINDO O CAPÍTULO 18
VARIÁVEIS: TIPOS DE DADOS E OPERADORES 19
TIPOS DE DADOS 20
OPERADORES 23
TABELA VERDADE 25
PRECEDÊNCIA DE OPERADORES 26
COLOCANDO EM PRÁTICA 27
RESUMINDO O CAPÍTULO 30
VISUALG 31
DOWNLOAD 32
INTERFACE DO VISUALG 32
UTILIZANDO O VISUALG PARA CRIAR E EXECUTAR ALGORITMOS 35
EXECUTANDO O ALGORITMO 36
EXECUTANDO O ALGORITMO PASSO A PASSO 37
ESTRUTURAS CONDICIONAIS 39
ESTRUTURA SE-ENTAO 40
ESTRUTURA SE-ENTAO-SENAO 41
EXPRESSÕES CONDICIONAIS COMPOSTAS 43
ESTRUTURA DE SELEÇÃO ANINHADA 44
ESTRUTURA DE SELEÇÃO MÚLTIPLA ESCOLHA 47
RESUMINDO O CAPÍTULO 52
ESTRUTURAS DE REPETIÇÃO 53
ESTRUTURA DE REPETIÇÃO DE NÚMEROS DEFINIDOS 54
ESTRUTURAS DE REPETIÇÕES DE NÚMEROS INDEFINIDOS 60
RESUMINDO O CAPÍTULO 64
3ALGORITMOS E PROGRAMAÇÃO I
APRESENTAÇÃO
Prezado, aluno! Seja bem-vindo à disciplina de Algoritmo e programação I! 
Levando em conta que você está realizando um curso superior voltado a área 
de tecnologia, a minha pergunta é óbvia, mas não custa fazê-la.
Quão importante o computador é na sua vida?
Se você respondeu: “muito”, estamos pensando da mesma maneira. Ago-
ra, o motivo pelo qual eu fiz essa pergunta? Porque ela me leva a uma próxima 
pergunta. Você já parou para pensar em como o seu computador funciona? Aqui, 
quando eu falo computador, não estou me referindo somente aos dispositivos que, 
comumente, aprendemos a chamar de computador. O nosso velho desktop ou o 
não tão novo notebook ou laptop. Hoje em dia, temos computadores nos nossos 
bolsos (smartphones), na nossa parede da sala (smart TV’s) ou até nos nossos 
pulsos (relógios). Entretanto, vamos voltar 
a pergunta. Você já parou para pensar em 
como esses dispositivos fazem o que dese-
jamos que façam? Como que, quan-
do pegamos nosso celular e abrimos 
o WhatsApp, podemos em poucos 
segundos enviar uma mensagem 
para alguém que está do 
outro lado do mundo?
Então, vou lhe contar um segredo, são programas que realizam as seguintes funções; é por 
causa deles que conseguimos fazer o que desejamos com nossos computadores. Também é por causa 
deles que estamos aqui, para começar a aprender um pouco sobre como eles funcionam.
Nossos computadores executam uma função simples e bem definida: PROCESSAR DADOS. 
Você deve estar se perguntando, mas que dados são esses e que tipo de processamento é esse? 
Vamos por partes, desde o momento em que ligamos o computador, a principal função dele é 
processar dados de maneira pela qual ele foi programado. Esses dados podem vir de diversas fon-
tes, desde nosso mouse, teclado ou HD, até de fontes mais “distantes”, como a internet. Tudo para o 
computador se trata de dados, desde a tela que está sendo exibida no monitor, até quando o navega-
dor da internet retorna alguma busca realizada.
Vamos levar em conta esse exemplo da busca realizada no navegador. O navegador é um aplica-
tivo ou programa (como você preferir). Esse aplicativo é responsável por pegar seus dados de entrada 
do teclado (quando você digita o que quer buscar), enviá-los através da internet para outro compu-
tador, receber os dados retornados por este outro computador e mostrá-los na tela para você.
Se você não conhece o Whatsapp, sugiro que abra o seu buscador preferido na 
internet e dê uma rápida lida e volte aqui para continuarmos.
4ALGORITMOS E PROGRAMAÇÃO I
APRESENTAÇÃO
Todo esse processo é realizado através de uma programação que foi 
realizada para que funcionasse da maneira que nós esperamos.
Essa programação é o que aprenderemos daqui para frente (não so-
mente nessa disciplina). Vamos começar a entender que tudo começa com a 
lógica necessária para darmos as instruções para que o computador realize 
o processamento dos dados. Depois, aprenderemos como estruturar essa ló-
gica em uma linguagem específica que está mais perto da linguagem que o 
computador entende, e começaremos a criar nossos primeiros programas, 
utilizando uma linguagem de programação real, que é possível ser utilizada 
para criar diversos programas.
No entanto, vamos começar com um passo de cada vez. E esse passo co-
meça por entendermos o que é, como funciona e como se cria um Algoritmo.
5
ALGORITMO
Do ponto de vista da informática, um algoritmo é o conjunto das regras e 
procedimentos lógicos, perfeitamente definidos, que levam à solução de 
um problema em um número finito de etapas.
6ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Suponha que você receba as seguintes instruções:
1. Vá até o supermercado.
2. Encontre o corredor dos cafés.
3. Busque pelo café mais barato.
4. Pegue 3 unidades.
5. Dirija-se ao caixa.
6. Pague em dinheiro.
7. Volte para casa.
8. Prepare um café quente e saboroso.
Você é capaz de executar essas instruções perfeitamente?
Se você consegue seguir essas instruções, saiba que é exatamente assim que um computa-
dor trabalha, o tempo todo.
Deixando um pouco de lado a sátira dessa lista de instruções, é importante en-
tender que ela respeita uma sequência lógica (se mudarmos a ordem de alguma delas 
o resultado poderá não ser o mesmo) e tem um objetivo bem definido para a resolução 
do problema da falta de café em casa.
O que muda dessa lista de instruções para um programa de computador que você 
está acostumado a utilizar, é que os programas possuem uma linguagem específica e 
são um pouco mais complexos. Quero dizer, muito mais complexos. Mas não se assus-
te, com o tempo você aprenderá que a complexidade para desenvolver a solução de um 
problema está, diretamente, ligada ao seu conhecimento sobre o problema e as ferra-
mentas que você tem disponível para resolvê-lo.
 Pronto! Agora que você já entendeu o que é um algoritmo, você está pronto para 
programar um aplicativo em seu computador. Bem-vindo ao maravilhoso mundo da 
programação! Você já é um programador profissional!
Brincadeiras a parte, vamos começar a modelar os nossos problemas em sequên-
cias lógicas de instruções.
Importante: caso você ainda não saiba, aprenderá, 
empiricamente, que “programadores são ferramentas projetadas 
para converter cafeína em código”.
7ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
FRITANDO UM OVO
Agora, que você já teve o primeiro contato com 
uma sequência de instruções, comece a criar uma outra 
para direcionar o processo para fritar um ovo. 
Primeiramente vamos definir algumas regras:
• Crie o máximo possível de instruções. Tenha em 
mente que quem executará estas instruções não 
possui nenhum conhecimento prévio de como fun-
ciona uma cozinha, aonde as coisas estão e como 
elas funcionam.
• Leve em conta que quem executará tais instruções 
já se encontra dentro da cozinha.
• Apesar de não conhecer nada da cozinha, o exe-
cutor sabe identificar as coisas. Se uma instrução 
for, por exemplo, “Abrir a geladeira”, ele saberá 
como fazer isso.
Agora pare de ler um pouco e faça esse exercício, 
escrevendo em um papel todas as instruções.
VALIDANDO A SOLUÇÃO
Vou agora descrever a minha solução para o problema dado:
1. Abra a porta da geladeira.
2. Na porta dageladeira, encontre a bandeja de ovos.
3. Pegue um ovo.
4. Feche a porta da geladeira.
5. Coloque os ovos sobre a pia.
6. Abra a porta do armário.
7. Junto às panelas, encontre uma frigideira.
8. Pegue a frigideira.
9. Coloque sobre uma boca vazia do fogão.
10. Junto aos temperos, encontre o azeite.
11. Pegue o azeite.
12. Coloque a quantia necessária de azeite para cobrir o fundo da frigideira.
13. Guarde novamente o azeite.
14. Próximo aos talheres, encontre uma escumadeira.
15. Coloque sobre a pia.
8ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
16. Feche o armário.
17. Ligue a boca do fogão cuja panela encontra-se sobre.
18. Bata suavemente a casca do ovo (mais ou menos no 
meio) contra a pia.
19. Com as duas mãos abra o ovo sobre a frigideira.
20. Abra o armário.
21. Próximo aos temperos, localize o pote com sal.
22. Pegue o pote.
23. Feche o armário.
24. Abra o pote.
25. Coloque uma pitada de sal sobre o ovo que se encon-
tra na frigideira.
26. Tampe o sal e coloque-o em cima da pia.
27. Quando a clara estiver branca e a gema estiver leve-
mente mole, desligue o fogo.
28. Abra o armário.
29. Localize um prato.
30. Pegue e segure-o consigo.
31. Feche o armário.
32. Pegue a escumadeira que está sobre a pia.
33. Com cuidado para não estourar a gema, retire o ovo da frigideira.
34. Coloque-o no prato.
35. FIM!!!
Ufa! Essa foi a receita para fazer um ovo frito mais extensa que eu já 
vi no mundo. 
E A SUA RECEITA? FICOU IGUAL?
Aposto que não. Assim como nas receitas de culinária de verdade, 
não existe uma única forma de se criar uma sequência de instruções para 
a resolução de um problema. Isso também acontece com os programas de 
computador. Dependendo de quem for o programador, o algoritmo utili-
zado pode ser completamente diferente, porém, ambos podem chegar ao 
mesmo resultado final. 
Isso também acontecerá com os exemplos de algoritmos que iremos 
produzir durante toda a disciplina. Procure não se preocupar muito com a so-
lução dada por mim e com a solução que você produzir. Procure sempre iden-
tificar se você conseguiu atingir o objetivo, que é a resolução do problema.
IMPORTANTE, NÃO SE 
PREOCUPE MUITO COM 
ISSO, AGORA!
As soluções costumam 
ser diferentes, porém, a 
resolução do problema 
deve ser sempre o principal 
objetivo; ele deve ser 
efetivo.
Quando você estiver 
escrevendo um algoritmo, 
saiba também, que às 
vezes temos que produzir o 
melhor algoritmo; ele deve 
ser, também, eficaz.
9ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Agora que já estamos entendidos sobre o que é um algoritmo, qual a sua função e como ele fun-
ciona, precisamos entender como se constrói um “algoritmo de verdade”.
CONSTRUINDO UM ALGORITMO
Para construir um algoritmo, precisamos seguir alguns passos importantes para que ele faça 
corretamente o que precisamos que faça. Vamos a eles:
1. Estudar e entender tudo sobre o problema a ser resolvido, para que nenhuma informação seja 
desconsiderada enquanto estivermos escrevendo nosso algoritmo.
2. Estruturar quais são os dados que são necessários informar para que o nosso algoritmo tenha 
um bom funcionamento. Chamamos esses de dados de entrada.
3. De forma lógica, pensar como esses dados devem ser processados para que o algoritmo re-
solva o problema.
4. Estruturar quais são os dados que representam a solução do problema. Estes, chamamos de 
dados de saída.
5. Finalmente, construiremos o algoritmo utilizando o formato necessário para que ele funcione.
Note no passo 5, que eu falei sobre formato necessário. Isso quer dizer que existe mais de um 
tipo de se representar um algoritmo. Vamos entender alguns tipos que nos servirão de base para 
criarmos nossos algoritmos:
TIPOS DE REPRESENTAÇÃO DE ALGORITMOS
Conforme comentei anteriormente, existe mais de um tipo para represen-
tarmos nossos algoritmos. Cada um com a sua característica e sua função no pro-
cessamento, representação e entendimento do nosso problema.
DESCRIÇÃO NARRATIVA
Essa é a forma que acabamos de ver. Sim, a lista de instruções é uma ma-
neira de representação de algoritmos. Ela é ótima para entendermos o problema 
e quais são os passos necessários para resolvê-lo. E você não precisou aprender 
nada de diferente. Mas ela não é perfeita. Vamos supor o passo 18 do nosso exem-
plo de como fritar um ovo.
Bata suavemente a casca do ovo (mais ou menos no meio) contra a pia.
Essa instrução está sujeita a interpretações diferentes, considerando quem 
irá executá-la. Certo? Suavemente, para mim pode ser diferente do que é para 
você. Isso quer dizer que esse formato pode não ser tão eficaz, visto que, ele está 
sujeito à interpretação de quem o executa.
Vamos ao próximo formato:
10ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
FLUXOGRAMA
Você sabe o que é um fluxograma e como se monta um? Vou te 
dar um exemplo de fluxograma:
Quando olhamos um desenho como esse, uma coisa fica ób-
via: a sequência dos passos a serem seguidos. Mas. por outro lado, 
ele exige que conheçamos quais os símbolos que foram utilizados 
para representar cada um dos passos. Isso não é necessariamente 
um problema, pois, formalmente, é definida a linguagem utilizada.
O que pode ser sim, um problema, quando utilizamos esse 
formato, e quando estamos representando os passos para a so-
lução de um problema muito complexo, que pode ficar muito ex-
tenso, impossibilitando uma visão clara de todo o processo.
Isso não quer dizer que ele não é utilizado, só pode não ser a 
melhor forma para que representemos os nossos problemas, pre-
tendendo que o computador os resolva.
Um pouco mais próximo do que é utilizado para a programa-
ção dos nossos computadores, temos o nosso próximo formato:
PSEUDOCÓDIGO – PORTUGUÊS ESTRUTURADO
Esse é o formato que trabalharemos nossos primeiros al-
goritmos daqui para frente. Ele é chamado de pseudocódigo, 
porque não é uma linguagem de programação propriamente 
dita, todavia ele se aproxima bastante, pois é construído utili-
zando a Língua Portuguesa.
Vamos entender como representar o nosso algoritmo utili-
zando um exemplo real, mas para isso, precisamos seguir nossos 
5 passos para a construção de um algoritmo.
Importante: não é um requisito para 
o aprendizado da programação, mas 
é muito importante que você tenha 
algum certo conhecimento da língua 
inglesa, pois a maioria das linguagens 
de programação utilizam essa língua 
como base.
11ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Definição do problema:
Faça um algoritmo que leia do usuário 3 números e calcule a média entre 
eles, escrevendo-a.
1. Problema: o problema a ser resolvido pelo nosso algoritmo é o cálculo da mé-
dia aritmética entre três números quaisquer, que serão informados durante a 
execução do algoritmo. Sabemos, da Matemática, que para realizar o cálculo 
da média aritmética de 3 números devemos somá-los e dividi-los por 3.
2. Definir dados de entrada: conforme a nossa definição do problema, os 3 nú-
meros, cuja média será calculada, serão informados durante a execução do 
algoritmo, logo, esses são os nossos dados de entrada.
3. Processamento: os passos são:
a. Leitura dos dados
b. Cálculo da média – (N1 + N2 + N3) / 3
c. Escrita da média
4. Definir dados de saída: nesse problema, o que desejamos é que a média cal-
culada seja escrita, nesse caso, nosso dado de saída é a própria média.
5. Criar o algoritmo: para criar nosso algoritmo em português estruturado, precisamos primeiro 
entender como se estrutura um algoritmo nesse formato. 
ESTRUTURA DE UM ALGORITMO EM PORTUGUÊS ESTRUTURADO
Um algoritmo em português estruturado possui um formato bem definido com comandos igual-
mente bem definidos.
Vamos entender como é o formato básico de um algoritmo?
Agora, aprenderemos o significado de cada linha.
Linha 1 – a palavra reservada “algoritmo” indica que estamos iniciando um novo algoritmo e 
que o nome desse algoritmo está na sequência entre aspas.
Importante: durante o decorrer deste material, sempre que forexibido um 
algoritmo, seja ele em português estruturado ou em linguagem de programação 
(mais adiante iniciaremos com linguagens reais que nos permitam criar 
programas) será utilizada uma fonte monoespaçada e no formato utilizado abaixo.
12ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Linha 2 – a palavra reservada “var” indica que estamos iniciando a sessão do 
nosso algoritmo responsável pela declaração das variáveis. Variáveis, como na Mate-
mática, são responsáveis por guardar um determinado valor, porém, o algoritmo não 
armazena valores numéricos. 
Linha 3 – as duas barras indicam que está sendo iniciado um comentário, ou seja, 
tudo o que vem após as barras não será considerado parte do algoritmo e só está ali para 
servir de comentário. Nesse caso, está indicando que estamos dentro da seção de decla-
ração de variáveis, que aprenderemos mais adiante.
Linha 4 – quando, após a seção de declaração de variáveis, for encontrada a pala-
vra reservada “inicio” (note que não tem acento, assim como em todo o algoritmo não 
se utiliza acentos, espaços e caracteres especiais com exceção do “_” – underline – que 
pode ser utilizado para separação de palavras) indica que terminamos a seção de decla-
ração de variáveis e iniciamos o processamento do nosso algoritmo.
Linha 5 – igualmente à linha 3, é o comentário, informando que estamos dentro da 
seção de processamento do algoritmo, ou seja, o corpo do nosso algoritmo. É no corpo 
que passos para a resolução do nosso problema serão listados em ordem.
Linha 6 – quando, após os comandos do corpo do nosso algoritmo, forem encon-
tradas as palavras reservadas “fimalgoritmo”, sem espaço, estaremos informando que 
nosso algoritmo terminou. Nada virá após.
Importante: palavras reservadas são palavras que não podem ser utilizadas 
como variáveis para a construção do nosso algoritmo. Existem mais 
palavras reservadas que estaremos conhecendo no decorrer do material.
Vamos entender um pouco mais das duas sessões que utilizamos para a criação do nosso 
algoritmo. As declarações de variáveis e corpo do nosso algoritmo.
DECLARAÇÃO DE VARIÁVEIS
A seção de declaração de variáveis serve para que indiquemos todas as variáveis que 
serão utilizadas no decorrer do nosso algoritmo. Uma variável, conforme comentado ante-
riormente, serve para armazenarmos alguma informação que pode, ou não, ser modificada 
durante a execução do algoritmo.
Esse processo também existe em qualquer programa que utilizamos. Do ponto de vista 
do processamento realizado por um computador, a declaração de uma variável serve para que 
o computador possa reservar um espaço na memória, que permanecerá durante toda a execu-
ção daquele algoritmo.
Como o português estruturado representa o pseudocódigo de um programa de computa-
dor, também devemos declarar as variáveis que utilizaremos no decorrer do nosso algoritmo.
13ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Para declararmos uma variável, devemos utilizar a seguinte sintaxe:
Onde <var1> deve ser substituído por uma ou outra lista separada por 
vírgula, de nomes de variáveis. Para facilitar o entendimento, deve-se no-
mear as variáveis de acordo com o dado que nela é armazenado. Após a lis-
ta de variáveis, deve vir um símbolo de dois pontos, e, na sequência, o tipo 
de dados que todas as variáveis daquela linha possuirão.
Isso quer dizer que podemos, não sendo obrigatório, agrupar a de-
claração de variáveis, desde que todas armazenem o mesmo tipo de dados. 
Posteriormente, veremos quais são os tipos de dados possíveis de se utili-
zar em um algoritmo.
Importante: quando, no contexto de algoritmos, ou até no 
contexto de programação, falamos sobre “sintaxe”, estamos 
tratando da estrutura que deve ser utilizada. Quando 
estamos programando no computador, caso a sintaxe 
do nosso algoritmo não esteja correta, o algoritmo não 
funcionará, ou seja, ele não está sintaticamente correto. 
Cabe a você entender a sintaxe correta para escrever o 
algoritmo e utilizá-la.
CORPO DO ALGORITMO
É nessa seção que ocorre o algoritmo propriamente dito. 
Aqui são descritos os comandos que serão executados para 
que o problema inicial seja resolvido. Também, escreveremos 
comandos para a leitura dos dados (entrada de dados), pro-
cessamento e escrita dos dados processados (saída de dados).
No decorrer de toda a disciplina, estaremos aprendendo 
novos comandos que nos auxiliam em uma função específica.
Esses comandos são a grande diferença entre um al-
goritmo representado em descrição narrativa e em pseu-
docódigo, pois temos comandos bem definidos que não 
estão sujeitos a diferentes tipos de interpretação. É o que 
o computador precisa para executar nossos programas e 
comandos bem definidos.
Importante: todo o comando que é 
representado por uma palavra, esta palavra 
deve ser reservada, ou seja, não pode ser 
utilizada para representar uma variável.
14ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
RETOMANDO NOSSO ALGORITMO
Agora que conhecemos como é a estrutura básica de um algoritmo, vamos retomar ao nosso 
problema da média e ver como é um algoritmo que resolve esse problema.
Vamos analisar o que foi feito nas seções de declaração de variáveis (linha 3 e 4) e corpo do 
algoritmo (linhas 6 a 10). 
Declaração das variáveis:
Linha 3 – estamos declarando três variáveis com nomes “num1”, “num2”, “num3” com tipo 
inteiro (número sem casas decimais). Estas variáveis servem para armazenar a entrada de dados.
Linha 4 – estamos declarando uma variável com nome “media” (sem acento - lembre-se 
dos caracteres especiais que não podem ser utilizados) com o tipo de dado real (número com vír-
gula). Como o resultado de uma divisão pode ser um número com vírgulas, não podemos declará-
-la junto com as demais que são do tipo inteiro. Essa variável, como o nome indica, armazenará o 
resultado do cálculo da média que realizaremos no corpo do nosso algoritmo.
Corpo do algoritmo:
Linhas 6 a 8 - estamos indicando que devem ser lidos valores de entrada e estes 
serão armazenados nas respectivas variáveis.
Linha 9 – esta linha deve ser analisada em duas partes. A primeira parte até o 
símbolo de atribuição “<-”, que indica que o resultado da expressão que está à direita 
do símbolo que será armazenado na variável que está à esquerda do símbolo. Agora, 
vamos analisar a expressão que está à direita. Trata-se de uma expressão matemática, 
onde os valores lidos anteriormente, representados por suas variáveis, serão somados 
(assim como na matemática, os parênteses indicam a precedência) e, posteriormente, 
o valor dessa soma será dividido por 3.
Linha 10 – por último, estamos realizando a saída de dados, ou seja, estamos 
dando o comando de escrita da média.
Importante: essa vai ser a última dica referente às palavras reservadas que 
teremos em nosso material. A lógica das palavras reservadas será a mesma 
para todo o decorrer do material e também no decorrer da sua vida, 
enquanto estiver programando. Uma palavra que representa algo fora do 
contexto do problema, não pode ser utilizada como nome de variável.
Nesse algoritmo, temos mais 4 palavras reservadas (“inteiro”, “real”, “leia” e 
“escreva”). Novamente, devemos lembrar que não podemos utilizar essas 
palavras como nome de alguma variável.
15ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Agora que temos o nosso algoritmo pronto, o que fazemos com ele. Lembre-se 
que falamos sobre o que é um algoritmo e o que ele representa. Então, se o nosso al-
goritmo representa os passos para a solução de um problema, precisamos validar se o 
nosso problema inicial foi solucionado.
Para fazer isso, vamos testar o nosso algoritmo, ou seja, iremos segui-lo passo 
a passo para ver se no seu final, todas as premissas de que nosso problema nos im-
pôs foram satisfeitas.
TESTANDO O ALGORITMO – TESTE DE MESA
Assim como, para a construção do algoritmo, temos uma técnica a ser seguida, 
para testá-lo temos também uma técnica. Chamamos essa técnica de teste demesa.
Um teste de mesa é a simulação de cada um dos comandos referente ao corpo do 
nosso algoritmo. Aí você me pergunta, como fazemos para conferir se tudo está certo? 
Para problemas simples como este, podemos fazer isso “de cabeça”, guardando a 
cada passo os valores das variáveis em nossa memória, mas conforme os problemas vão 
ficando mais complexos e extensos, não podemos confiar somente na nossa memória 
para saber quais os valores armazenados em cada uma das variáveis do nosso algorit-
mo, conforme vamos executando os passos. Porém, temos uma ferramenta bem simples 
para fazer isso. Vamos fazer como um computador faz, vamos armazenar os dados.
Considerando que, até o momento estamos escrevendo nosso algoritmo no papel, simu-
laremos a execução deste também no papel.
Quando analisamos um algoritmo, a primeira coisa a se fazer é analisar a declaração das 
variáveis. Para cada uma das linhas de declaração de variáveis, criaremos uma tabela com o 
nome da variável e o tipo dela. Essa tabela será nossa memória no decorrer da execução.
Para criá-la, colocamos cada uma das variáveis em uma coluna com nome da variável e o 
tipo de dados referentes. Vamos à tabela de dados do nosso algoritmo:
Agora que temos o cabeçalho da nossa tabela montada, as linhas serão os valores de cada 
uma delas após a execução de cada comando do nosso algoritmo. Consideraremos os valores da 
entrada de dados para as variáveis num1, num2 e num3, que são respectivamente 3, 6 e 9.
Para entender os valores desse teste de mesa, tenha o algoritmo ao seu lado e simularemos 
ele juntos. Vamos executar cada instrução (linhas 6 a 10) e atualizarmos a nossa tabela de dados. 
Na linha 6, o algoritmo pede para ler um valor que será armazenado na variável num1. 
Como a variável num1 é do tipo inteiro, devemos utilizar somente valores desse tipo. Consi-
deramos o valor 3. Como essa é a primeira instrução executada, criamos a primeira linha da 
tabela com o valor 3 na coluna referente a variável num1 e deixamos todas as outras com zero 
(uma variável numérica sem valor, e que possui o valor zero).
num 1 (inteiro) num2 (inteiro) num3 (inteiro) media (real)
16ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Agora, na linha 7, o algoritmo pede novamente para lermos um valor e armazená-
-lo na variável num2. Consideramos o 6 como valor lido. Criaremos uma nova linha e na 
coluna do num2 colocaremos o valor lido. Nas demais colunas, como os valores das va-
riáveis não sofreram alterações, repetimos o valor anterior.
Agora, na linha 8, segue a mesma lógica, porém, para a variável num3, com valor 
9, o resultado é o seguinte:
Agora, na linha 9, temos uma diferença. Temos o nosso cálculo da média, que deve 
ser feito somando as variáveis num1, num2 e num3, e depois dividido por 3. E é nesse 
tipo de instrução que a tabela de dados do nosso teste de mesa comprova sua eficiência. 
num 1 (inteiro) num2 (inteiro) num3 (inteiro) media (real)
3 0 0 0,0
Para saber qual o valor de cada uma das variáveis utilizadas, devemos consultar a última 
linha, até o momento, para saber qual é. No nosso caso, 3, 6 e 9. Fazemos a soma “de 
cabeça” (18) e dividimos por 3. Para o resultado, 6, criamos uma nova linha na tabela e 
o colocamos na coluna referente a média. Novamente, as demais variáveis não sofreram 
alterações, portanto, os valores são repetidos.
Por último, na linha 10, a instrução é de saída. Nesse caso, não precisamos atua-
lizar nossa tabela de dados, porém, podemos simular a saída, escrevendo-a à parte da 
nossa tabela, como se fosse em um monitor do computador. Infelizmente, não é pos-
sível demonstrar esse passo aqui, mas é importante que saibamos que ele existe, pois é 
ele que representa todo o processamento realizado. 
Se pensássemos nesse algoritmo como um programa de computador, sem esse 
passo, o usuário teria digitado os valores, mas nunca veria o resultado, ou seja, para ele, 
o programa não executou nada.
num 1 (inteiro) num2 (inteiro) num3 (inteiro) media (real)
3 0 0 0,0
3 6 0 0,0
num 1 (inteiro) num2 (inteiro) num3 (inteiro) media (real)
3 0 0 0,0
3 6 0 0,0
3 6 9 0,0
num 1 (inteiro) num2 (inteiro) num3 (inteiro) media (real)
3 0 0 0,0
3 6 0 0,0
3 6 9 0,0
3 6 9 6,0
17ALGORITMOS E PROGRAMAÇÃO I
EXERCÍCIOS SUMÁRIO
Agora chegou a sua vez de escrever alguns algoritmos para resolução de pro-
blemas. Vou descrever os problemas e você deverá criar o algoritmo e testá-lo, uti-
lizando a técnica do teste de mesa que foi vista anteriormente:
1. Escreva um algoritmo que leia dois valores numéricos que representem as 
medidas de base e altura de um triângulo. Tendo estas medidas, calcule a área 
desse triângulo escrevendo o seu resultado.
OBS: se você não lembra como se calcula a área de um triângulo, digite no Goo-
gle “cálculo área do triângulo”, você encontrará facilmente a fórmula desejada.
2. Escreva um algoritmo que leia o número de horas trabalhadas por um profis-
sional autônomo e também o valor hora e o percentual de imposto que ele deve 
pagar. Calcule o valor do imposto a ser descontado desse profissional e o valor 
líquido que ele tem por receber. Escreva, primeiramente, o valor do imposto e, 
na sequência, o valor líquido.
OBS: O percentual do imposto informado será em base 100, ou seja, para um 
imposto de 15% será informado o valor 15. Lembre-se que você deve realizar um 
cálculo intermediário com esse número para calcular o valor do imposto.
18ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
1. Aprendemos, através de instruções, como fritar um ovo, porém, a lista de 
instruções pode ser diferente para resolução de um mesmo problema.
2. Aprendemos quais são os passos necessários para construção de qualquer 
algoritmo e que precisamos internalizar esses passos para criação de um 
pensamento lógico para solução dos problemas que serão resolvidos pe-
los nossos algoritmos.
3. Vimos que não existe uma única forma de se representar um algoritmo. As 
três formas de representação que conhecemos foram: descrição narrativa, 
fluxograma e português estruturado – pseudocódigo. Este último é o que 
utilizaremos por sua semelhança com os programas de computador.
4. Aprendemos como é a estrutura de um algoritmo representado em português estruturado, ten-
do como estrutura básica as seguintes sessões: inicialização e declaração do nome do algoritmo, 
declaração das variáveis, início, corpo e fim do algoritmo. Analisamos também o exemplo do 
algoritmo, que calcula a média aritmética de três números quaisquer informados pelo usuário.
5. Finalizando, aprendemos como testar e validar o nosso algoritmo, utilizando como ferra-
menta o teste de mesa e a tabela de dados para acompanhamento dos valores das variáveis no 
decorrer da execução.
6. Espero que você tenha conseguido criar os algoritmos que foram propostos para exercitar. Qual-
quer dúvida, utilize o ambiente virtual para esclarecimentos. Nos vemos no próximo capítulo.
RESUMINDO O CAPÍTULO
19
VARIÁVEIS: TIPOS 
DE DADOS E 
OPERADORES
Ao falarmos sobre variáveis, para uma compreensão dos algoritmos, 
precisamos entender como elas funcionam em um programa que é 
executado em um computador.
20ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Em um programa de computador, que você está acostumado a 
utilizar, existem muitas variáveis declaradas. Essas, armazenam os 
dados úteis durante a execução do programa. Um exemplo seria a va-
riável que armazena as coordenadas da posição da janela em relação à 
tela. Sempre que arrastamos a janela, os valores da coordenada mu-
dam, ou seja, o valor que está armazenado na variável será modificado 
pelo nosso programa.
Se as variáveis são responsáveis por armazenar nossos dados, 
onde é que esses dados são armazenados? 
Você já deve ter ouvido falar sobre memória RAM, aquela memó-
ria que nossos computadores utilizam para armazenar as informações 
que são necessárias somente durante a execução dos programas.
Toda a declaração de variável feita nos programas, ou,em nosso 
caso, nos algoritmos, fazem com que o computador reserve um de-
terminado espaço na memória, para que aquela informação seja salva, 
novamente, durante a execução do programa.
Quais informações podemos armazenar 
dentro das variáveis?
No capítulo anterior, quando analisamos a estrutura de um 
algoritmo, vimos que existe uma seção específica destinada a de-
claração de variáveis (abaixo, novamente a sintaxe das linhas de 
declaração de variáveis). Sabendo que todas as variáveis declara-
das possuem um tipo de dado bem definido, sejam elas agrupadas 
por tipo (mais de uma variável por linha), ou declaradas individu-
almente (linha a linha), aprenderemos quais são os tipos de dados 
que podemos dar as nossas variáveis.
TIPOS DE DADOS
No capítulo anterior, em nosso primeiro algoritmo completo, 
declaramos variáveis de dois tipos de dados. Um tipo foi o “inteiro”, 
que representa os números inteiros, positivo ou negativo, e o ou-
tro foi o “real”, que representa os números que podem ter, ou não, 
casas decimais. Esse é o tipo de dados numéricos, que possui essas 
duas divisões.
Porém, existem outros tipos de dados destinados a outras fun-
cionalidades. Vamos a todos eles:
21ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
• Numérico: conforme já comentado, esse tipo de dado serve para declarar variáveis que 
armazenam números. Porém, sintaticamente, “numérico” não é um tipo de dado váli-
do, pois precisamos especificar qual o tipo de número que nossa variável armazenará. 
Devemos declarar nossas variáveis numéricas utilizando o tipo específico de número 
armazenado, ou seja, “inteiro” ou “real”.
Importante salientar que, no corpo do algoritmo, quando queremos colocar um nú-
mero com separador decimal, devemos utilizar o símbolo de ponto para essa função, e não 
vírgula, como estamos acostumados no sistema brasileiro. No caso da separação de milha-
res, que no sistema brasileiro utilizamos o ponto como símbolo, não precisamos fazê-la.
Exemplo de declaração:
• Lógico: quando uma variável possui esse tipo de dado, ela pode ter somente um dos 
dois valores válidos: Verdadeiro ou Falso. Esse tipo de dado servirá para que possamos 
realizar testes lógicos com nossas variáveis.
Exemplo de declaração:
• Caractere: variáveis declaradas com esse tipo de dado servem para armazenar ex-
pressões literais que não são interpretadas pelo nosso algoritmo (podemos, inclusive, 
utilizar caracteres especiais em nossas expressões literais). Um exemplo de variável 
que pode ser declarada utilizando esse tipo de dado, é uma variável que armazena o 
nome de uma pessoa. 
Exemplo de declaração:
Após aprendermos como utilizar esses dados, vamos observar um exemplo:
Na legislação trabalhista brasileira, sempre que um funcionário gozará de seu período 
de férias, ele deve receber, adiantado, uma bonificação no valor de 1/3 de seu salário bruto 
como “Adicional de Férias”. Considerando essa definição, escreva um algoritmo que leia o 
Importante: para que possamos, no corpo do algoritmo, atribuir um valor 
literal em uma variável, ou também utilizá-lo em chamadas de funções 
(como por exemplo, na função de saída “escreva”), precisamos colocar a 
expressão literal a ser atribuída entre aspas. 
Ex:
Nome <- “joão da silva”
22ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
nome de um funcionário e o seu salário bruto e calcule o valor 
a ser recebido por esse funcionário como acréscimo de férias, 
escrevendo ao final o nome do funcionário, o valor do salário 
bruto, o valor do adicional de férias e o valor total, conforme 
exemplo de saída abaixo:
RESOLUÇÃO DO ALGORITMO PARA CÁLCULO DE FÉRIAS
Antes de verificar a resolução e análise da solução abaixo, 
tente criar esse algoritmo por conta própria. A prática é que te 
levará cada vez mais próximo da perfeição.
Importante: Sempre que, no decorrer deste 
material, for mostrado um exemplo de saída 
de dados (escrita) de um algoritmo, cada 
expressão de escrita gera uma nova linha e 
esta sempre irá iniciar com o caractere “>”. Na 
sequência, a informação de saída.
Lembrando que não existe uma única, vamos analisar a solução acima.
Linhas 3 e 4: declaração das variáveis, conforme já vimos anteriormente, 
porém, utilizando o tipo de dados “caractere”.
Linhas 6 e 7: aqui estamos vendo um adendo na forma de ler o nome do 
funcionário para a variável “nome”. Estamos primeiro escrevendo qual dado 
será lido, para depois realizar a leitura. Podemos utilizar o comando escreval, 
que vai escrever a frase “Digite o nome do funcionário”, em uma nova linha, na 
tela do usuário. Pensando no monitor do usuário, temos a seguinte situação:
23ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Onde teremos, na segunda linha, o cursor piscando e aguardando que o usuário digite a in-
formação e pressione “ENTER” para prosseguir. Utilizamos, primeiramente, a escrita, para que o 
usuário não veja somente o cursor piscando sem saber o que ele deve fazer. Quando simularmos 
nossos algoritmos em um programa, você conseguirá ter uma visualização melhor desta “técnica”.
Linhas 8 e 9: similar às linhas 6 e 7, porém, dessa vez, para a leitura do salário bruto.
Linha 10: cálculo do adicional de férias através da divisão do valor do salário por 3, repre-
sentando nosso 1/3 de férias. Após o cálculo, o valor é armazenado na variável “ferias”.
Linha 11: Similar à linha 10, porém, o cálculo é do valor total que se dá através da soma do 
valor do salário bruto com o valor do adicional de férias, calculado anteriormente. A variável to-
tal vai receber o valor do resultado da soma do “salario” com as “ferias”.
Linha 12: novamente, uma forma diferente para realizar uma função já conhecida. Nes-
se caso, estamos escrevendo uma expressão literal explicativa antes da informação propria-
mente dita. Podemos escrever várias informações (variáveis ou expressões) na mesma linha, 
separando-as por vírgula.
Linhas 13, 14 e 15: similar à linha 12, estamos escrevendo as demais informações solicitadas.
Agora que já conhecemos os tipos de dados, vamos entender um pouco mais o que pode-
mos fazer com cada um desses tipos de dados. Vamos conhecer os operadores que podem ser 
utilizados para manipulação dos dados.
OPERADORES
Mesmo sem nos darmos conta, nos exemplos e exercícios realizados até agora, já 
utilizamos alguns tipos de operadores. Por mais que alguns sejam simples, como por 
exemplo, o operador de atribuição, “<–”, e não precisam maiores explicações, vamos 
analisar uma lista com todos os operadores que podemos utilizar em nossos algoritmos.
Operador de atribuição: conforme comentado acima, este é um dos primeiros 
operadores que utilizamos. Sua sintaxe é bastante simples: primeiramente, é avaliado 
o resultado da expressão que está à direita do operador e o resultado é armazenado na 
variável que está à esquerda do operador.
Operadores aritméticos: os operadores aritméticos permitem a realização de cálcu-
los matemáticos, utilizando valores armazenados em variáveis, ou ainda, valores escritos 
diretamente no código. Até agora, já vimos os operadores referentes às quatro operações 
matemáticas básicas. Vamos ver os demais, inclusive repassando novamente por estes:
Operador Representação no algoritmo Exemplo
Soma + valor1 + valor2
Subtração – valor1 – valor2
Multiplicação * valor1 * valor2
Divisão / valor1 / valor2
Exponenciação ^ valor1 ^ valor2
Módulo (resto inteiro da divisão) mod valor1 mod valor2
Operadores aritméticos
24ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Operadores relacionais: os operadores relacionais são utilizados para comparação de dois valo-
res conforme o tipo de operador utilizado. O resultado de uma expressão que utiliza um operador rela-
cional é sempre um resultado lógico, ou seja, verdadeiro ou falso. Vamos ver quais são:
Operadores lógicos: Os operadores lógicos são utilizados para associar expressões ou variáveis 
lógicas. O resultado destas expressões também é um resultado do tipo lógico.
Operador Representaçãono algoritmo Exemplo
Maior > valor1 > valor2
Maior ou igual ≥ valor1 ≥ valor2
Menor < valor1 < valor2
Menor ou igual ≤ valor1 ≤ valor2
Igual = valor1 = valor2
Diferente <> valor1 <> valor2
Operadores relacionais
Operador Representação no algoritmo Exemplo
e 
(conjunção)
E – este operador retorna verdadeiro se somente os dois lados da 
expressão forem verdadeiros.
<expressão 1> E 
<expressão 2>
ou 
(disjunção)
OU – este operador retorna verdadeiro se ao menos um dos lados 
da expressão forem verdadeiro.
<expressão 1> OU 
<expressão 2>
não 
(negação)
NAO – este operador inverte o valor da expressão adjacente, ou 
seja, retorna verdadeiro para uma expressão com valor falso ou 
retorna falso para uma expressão com valor verdadeiro.
NÃO <expressão>
Operadores lógicos
25ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Você deve estar se perguntando, de que forma os operadores relacionais e lógicos são 
utilizados dentro de um algoritmo? Antes de lhe mostrar como iremos utilizá-los, primeiro 
preciso que você entenda bem como eles funcionam, pensando somente nos valores lógicos 
que eles retornam. Para isso, vamos analisar uma ferramenta que chamamos de tabela ver-
dade. Ela nos auxiliará no entendimento destes operadores.
TABELA VERDADE
Para a análise da tabela verdade, vamos considerar duas variáveis, A e B, analisan-
do os resultados possíveis dos operadores relacionais e o resultado da combinação com 
operadores lógicos.
Analisando a primeira linha, na primeira coluna temos a suposição de que A = 3 (A é 
igual a 3) seja verdadeiro e, na segunda coluna, a suposição de que B <> 20 (B é diferente de 
20) seja verdadeiro também. Dessa forma, temos para cada um dos operadores lógicos (“E”, 
“OU” e “NÃO”) o valor de uma operação, considerando as duas primeiras suposições. Ainda 
analisando a primeira linha, para “A = 3 E B <> 20” temos um retorno verdadeiro, da mesma 
forma que para “A = 3 OU B <> 20” temos um retorno verdadeiro, porém, para o operador 
“NAO” na expressão “NAO A = 3”, como “A = 3” é verdadeiro e a função do operador é in-
verter o valor, o resultado final será falso.
Lembre-se! O resultado de uma expressão contendo um operador relacional ou lógico, 
sempre resultará em um valor lógico. Por ora, você deve atribuir o resultado dessas expres-
sões sempre em uma variável do tipo lógico.
OPERADOR
E
OPERADOR
OU
OPERADOR 
NAO
Expressão no 
Algoritmo
A = 3 B <> 20 A = 3 E B <> 20 A = 3 OU B <> 20 NAO A = 3
RESULTADOS
V V V V F
V F F V F
F V F V V
F F F F V
Tabela verdade
26ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
PRECEDÊNCIA DE OPERADORES
Assim como na Matemática, em algoritmos temos operadores 
que possuem precedência sobre outros. Você deve estar lembrado que 
quando temos uma expressão matemática composta, por exemplo, 
de operadores de adição e multiplicação, primeiramente devemos 
resolver a operação de multiplicação, para só, então, resolvermos a 
operação de adição.
Um pequeno exemplo para recordarmos. Resolva a expressão:
2 + 5 × 3 + 4 = ?
Se você chegou ao resultado 21, você resolveu essa expressão 
corretamente.
Em algoritmos, também temos regras de precedência de ope-
radores. Considerando os operadores aritméticos, a precedência é 
a mesma utilizada nas expressões matemáticas. Primeiro, temos a 
precedência dos parênteses, que vem depois da operação de expo-
nenciação, que após as operações de multiplicação, divisão e por úl-
timo as operações de adição e subtração.
Importante: nas expressões 
matemáticas temos os separadores 
de expressões, os parênteses, 
chaves e colchetes. Em algoritmos, 
temos somente os parênteses. 
Quando se deseja separar mais de 
uma operação, que na matemática 
utilizaríamos as chaves e colchetes, 
em algoritmos utilizamos 
parênteses aninhados. Vamos a um 
exemplo:
Considere a seguinte expressão 
matemática:
{5 + (2 + 5) × (3 + 4)} × 2
Nesse caso, em algoritmos teríamos 
a seguinte expressão:
(5 + (2 + 5) * (3 + 4)) * 2
27ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Considerando que em algoritmos temos ainda os operadores lógicos e relacionais, temos 
uma lista de precedência um pouco maior. Para melhor compreensão, podemos montar uma pi-
râmide de precedência, onde no topo da pirâmide estará a maior precedência, e a base da pirâmi-
de representa a menor precedência:
Levando em conta essa pirâmide de precedência, temos que considerar a utili-
zação de parênteses sempre que temos expressões que mesclam operadores de maior 
e menor precedência, para que, assim, tenhamos certeza do resultado esperado.
Se, em uma expressão, os operadores possuem a mesma precedência, ela será 
executada da esquerda para a direita.
COLOCANDO EM PRÁTICA
Agora é hora de exercitarmos para fixarmos um pouco mais sobre o que aca-
bamos de aprender.
Considerando o exercício anterior de cálculo das férias, modifique o algorit-
mo criado para que seja deduzido o INSS (desconto de 11%), escrevendo o valor de 
INSS e também: “O funcionário deve descontar IRRF: <VERDADEIRO/FALSO>”, 
onde a expressão, após os dois pontos, indica se o usuário deve descontar o im-
posto de renda na fonte. Considerando que na tabela do imposto de renda de 2016, 
diz que, deve ser descontado o imposto na fonte para todos que obtiveram ganhos 
superiores a 1.903,98 (lembre-se que no corpo do algoritmo, o símbolo de separa-
dor decimal é o ponto e a vírgula, não sendo necessário a utilização do separador 
de milhar), já descontado o valor do INSS.
28ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
RESOLUÇÃO DO ALGORITMO PARA CALCULO DE FÉRIAS
Antes de verificar a resolução e análise da solução a seguir, tente criar esse algoritmo por conta própria. A prática é que 
te levará cada vez mais próximo da perfeição. Não me cansarei de escrever isso, pois tenho a certeza de que é uma verdade.
Para a solução, primeiro devemos lembrar que não temos o operador de percentual nos operadores matemáticos, po-
rém, sabemos que 11% pode ser realizada através da operação matemática, 11 dividido por 100. Ou seja, a expressão mate-
mática para esse cálculo pode ser representada da seguinte forma:
inss = total × 11 ÷ 100
Tendo isso em mente, vamos ao nosso algoritmo:
29ALGORITMOS E PROGRAMAÇÃO I
EXERCÍCIOS SUMÁRIO
Da mesma forma que no capítulo anterior, e também em todos os demais que 
teremos nesse material, chegou a sua vez de exercitar:
1. Considerando que em uma escola existe média para aprovação em uma disci-
plina, a média ponderada do ano deve ser superior a 6, escreva um algoritmo 
que leia o nome do aluno que se deseja calcular a média, as notas dos 4 bimes-
tres, calculando a média. A média ponderada deve ser calculada levando em 
conta que o primeiro bimestre tem peso 1, o segundo peso 2, e assim susceti-
velmente. No final, escreva o nome do aluno, a média atingida e VERDADEIRO 
OU FALSO para o caso do aluno ser aprovado ou não.
DICA: Se você não lembra como se calcula uma média ponderada, realize uma 
pesquisa rápida para entender esse cálculo.
2. Escreva um algoritmo que leia um número inteiro e escreva VERDADEIRO se o 
número for par ou FALSO se o número for ímpar.
DICA: Você deverá utilizar o operador módulo.
3. Escreva um algoritmo que leia dois números reais, o primeiro representando o 
raio da base de um cilindro, e o segundo, a altura deste cilindro, logo, calcule o 
volume do mesmo.
DICA: A mesma do primeiro exercício.
30ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
1. Aprendemos os tipos de dados que podemos utilizar em nossos algorit-
mos: numéricos (inteiro e real), lógico e caractere.
2. Aprendemos quais são os operadores que podem ser utilizados para a 
realização de expressões aritméticas. Soma, subtração, multiplicação, 
divisão, exponenciação e módulo.
3. Da mesma forma, aprendemos que existem operadores relacionais que 
podem montar expressões sobre os mesmos valores numéricos, porém, 
o resultado das expressões sempre será um valor lógico. São eles: maior, 
maior ou igual, menor,menor ou igual, igual e diferente.
4. Como último grupo de operadores, vimos os operadores lógicos, que nos 
permitem trabalhar com valores lógicos para compor expressões entre 
2 valores (operadores “E” e “OU” e, também, o operador “NAO”, que 
realiza a inversão de um valor lógico.
RESUMINDO O CAPÍTULO
31
VISUALG
Até este momento, nossos algoritmos foram construídos somente papel. 
Vamos dar um passo adiante!?
32ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Conforme vimos, superficialmente, no capítulo de Introdução, quando quere-
mos desenvolver um programa, utilizamos uma linguagem de computador. Isso não 
quer dizer que teremos que, até o final dessa disciplina, ficarmos praticando somen-
te no papel. Apesar desse tipo de prática ser bastante eficiente para o aprendizado, 
uma vez que o único fator envolvido é a solução do problema, utilizando uma pseu-
dolinguagem, temos disponível, gratuitamente, uma ferramenta que nos permite 
construir e testar nossos algoritmos, utilizando essa mesma pseudolinguagem.
A ferramenta, chamada de Visualg, foi criada por um professor universi-
tário que viu a importância dos alunos das disciplinas de Algoritmo, praticarem 
a criação e testes dos algoritmos propostos, tendo uma ideia mais real de como 
seria esse mesmo processo caso estivessem utilizando uma linguagem de pro-
gramação já difundida.
A ideia é que, daqui para frente, possamos utilizar essa ferramenta para a cons-
trução dos nossos algoritmos.
DOWNLOAD
Primeiramente, é necessário realizar o download através do link: 
https://sourceforge.net/projects/visualg30/files/latest/download
Após o término do download, tem-se disponível um arquivo em formato RAR que deve ser 
descompactado, utilizando algum software adequado para essa função. Logo, à descompactação, 
temos acesso ao aplicativo visualg30, conforme imagem ao lado.
INTERFACE DO VISUALG
Abrindo esse aplicativo, tem-se acesso à interface que permite a criação e os testes do nosso 
algoritmo. próxima imagem, você visualizará a interface e todos os componentes que serão utili-
zados daqui para frente.
Instalação Visualg
33ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
34ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
1. Editor que utilizaremos para a criação do nosso algoritmo. Nele, digitamos 
os códigos que permitem que nosso algoritmo funcione.
2. Quando estamos executando nosso algoritmo, nesta listagem aparecerão 
todas as variáveis declaradas, o tipo e o valor da variável até o momento 
da execução. A utilização deste quadro só representa uma funcionalidade 
quando o algoritmo está sendo executado com breakpoints ou através da op-
ção passo a passo. Mais adiante, veremos como executá-lo dessa forma.
3. Nesse painel, poderemos executar a saída do nosso aplicativo, ou seja, é 
nele que todos os resultados dos comandos de escrita aparecerão após te-
rem sido executados.
4. Após ter concluído a construção do algoritmo, utilizamos esse botão para 
executá-lo de forma contínua, ou seja, as únicas paradas na execução, ocor-
rerão quando for executado um comando de leitura (comando “leia”).
5. Com esse botão, nosso algoritmo é executado passo a passo, ou seja, nós é 
que decidimos quando deve ser executado o próximo comando (a próxima 
linha). Para a execução passo a passo, devemos utilizar esse botão para cada 
linha a ser executada.
Agora que já conhecemos a interface da ferramenta, vamos entender algumas 
pequenas diferenças que temos com relação a linguagem que utilizamos até agora.
1. As palavras reservadas Algoritmo (primeira linha), Var, Inicio e Fimalgoritmo tem a primeira 
letra maiúscula, sendo que a palavra reservada que indica o final do algoritmo é uma só, sem o 
espaço de separação, ficando Fimalgoritmo.
2. A indentação padrão (espaços em branco que nos auxiliam de forma visual a ver os blocos - até 
o momento, temos o bloco de declaração de variáveis e o bloco do corpo do algoritmo) é reali-
zada através de 3 espaços.
3. Verifique corretamente as aspas a serem utilizadas para a criação de expressões literais, do tipo 
caractere. De forma escrita é difícil de exemplificar, mas cuide para utilizar aspas duplas sem indi-
cação de direção (não se deve utilizar o caractere aspas que aponta à direita quando está iniciando 
e à esquerda quando está finalizando). Desconfie das aspas quando, ao executar um algoritmo, for 
mostrado um erro em uma linha que tenha expressões literais, como no exemplo que segue:
Tirando esses detalhes, tudo o que aprendemos até o momento pode ser executado nessa ferra-
menta. É isso que faremos agora.
Aviso
35ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
UTILIZANDO O VISUALG PARA CRIAR E EXECUTAR ALGORITMOS
Primeiramente, quero que saiba que entendo que pode passar algumas dificul-
dades durante o processo até que consiga pegar a prática. Como não estamos em uma 
disciplina presencial, quero que lembre que pode sempre recorrer ao nosso ambiente 
virtual para sanar suas dúvidas. Porém, esse atendimento pode não ser on-line e não 
quero que interrompa seus estudos até que obtenha um retorno. Dessa forma, vou 
lhe apresentar uma estratégia para tentar resolver os problemas que venham surgir. 
Você pode utilizar a opção ajuda que a ferramenta oferece. Nessa opção será 
aberto o navegador contendo toda a documentação de ajuda provida pela ferramenta.
Entretanto, não quero que você se apavore com os problemas que podem surgir. 
Normalmente, eles são de fácil resolução, bastando que tenhamos atenção a toda in-
formação que a ferramenta nos dá, comparando com o algoritmo que escrevemos nela. 
Agora, deixamos de perder tempo e vamos começar com um algoritmo que já 
desenvolvemos.
Digite o algoritmo de cálculo de férias com desconto no INSS que criamos em 
conjunto no capítulo anterior, fazendo as adaptações necessárias. Na próxima ima-
gem, você consegue visualizar como ficou o algoritmo, antes da execução:
Exemplo
36ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
EXECUTANDO O ALGORITMO
Após digitá-lo, vamos executar pelo botão “Executar” (número 4 da tela explicativa).
Nesse momento, a ferramenta começará a execução de cada uma das instruções que coloca-
mos. Primeiramente, todas as variáveis serão declaradas. Depois, no primeiro comando do corpo 
do algoritmo, será escrita a mensagem. Porém, o que você vê logo após clicar no botão executar, 
é uma janela preta do prompt de comando, similar a imagem:
Executando algoritmo
Arrastando a janela do prompt sobre o algoritmo, conseguimos ver os dois pai-
néis direitos, o superior que mostra todas as variáveis declaradas com seus respecti-
vos valores, e o inferior que mostra o resultado de saída até o momento. Conforme co-
mentei anteriormente, quando utilizamos a opção de “Executar”, a única parada que é 
feita para interação acontece quando se executa a instrução leia. É isso que a janela do 
prompt de comando está aguardando. Que seja digitado algum valor que será armaze-
nado na variável “nome”, conforme o comando da linha 9 do nosso algoritmo.
Digite um nome qualquer e pressione Enter. Nesse momento, o que você vê na 
tela deve ser algo semelhante a imagem:
Executando algoritmo
37ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Antes de digitar o salário, note que no painel das variáveis, a variá-
vel nome já mudou de valor, tendo agora, exatamente, o que foi digitado 
no comando leia.
Nesse momento, você pode digitar o salário e, novamente, pressionar 
Enter. Agora você deve estar vendo no prompt de comando algo semelhante 
ao que se vê na imagem abaixo:
Eu sei que não é exatamente o que esperávamos, isso porque não houve 
quebra de linhas entre cada um dos comandos “escreva”. Quando desejamos 
que o Visualg quebre a linha após escrever alguma sentença na tela, devemos 
utilizar o comando “escreval”. Faça a mudança e teste novamente se desejar.
Executando algoritmo
Voltando a nossa análise do que temos em tela, repare no painel superior direito, o das variáveis, o que 
ele representa. Se você leu e sededicou até aqui no material, notará que ele é bem semelhante à tabela que pro-
duzimos quando executamos nosso teste de mesa manualmente. A única diferença aqui é que não temos, linha 
a linha, a evolução dos valores das variáveis conforme a execução dos comandos. Esse painel, quando chega-
mos no final da execução do algoritmo, representa a última linha da tabela produzida em nosso teste de mesa.
Para fechar o prompt de comando, basta pressionar ESC.
EXECUTANDO O ALGORITMO PASSO A PASSO
A execução passo a passo se aproxima muito do teste de mesa que executamos quando estamos testan-
do nosso algoritmo “no papel”. Quando expliquei para você o funcionamento do teste de mesa, à primeira 
vista não deve ter sido um processo simples, imagino eu. 
Explicar esse mesmo processo utilizando o Visualg, parece-me um tanto quanto mais complicado, sen-
do passível a problemas na interpretação com minhas palavras, levando em conta a informação que eu pre-
tendo passar. Por isso, preparei um vídeo, especialmente, para explicar como funciona a execução passo a 
passo através do Visualg. 
Quando você tiver visto a facilidade que esse processo lhe proporciona, saiba que quase todas as gran-
des linguagens de programação, através de alguma ferramenta de desenvolvimento, permite esse tipo de 
execução. Isso pode lhe salvar horas no futuro quando os algoritmos se tornarem cada vez mais complexos. 
Busque sempre saber as facilidades de desenvolvimento disponíveis para cada linguagem de programação 
que você utilizará para desenvolver seus programas.
38ALGORITMOS E PROGRAMAÇÃO I
EXERCÍCIOS SUMÁRIO
Vamos aproveitar as novas ferramentas para praticar um pouco mais o desenvolvimento de al-
goritmos. Crie os algoritmos conforme os enunciados abaixo.
Dica geral: se não lembrar das fórmulas para os cálculos, realize uma breve pesquisa para relembrar.
1. Criar um algoritmo que leia um valor que representará o diâmetro de um círculo e calcule e im-
prima a área deste círculo.
Exemplo para validação: para entrada = 10, o valor esperado de saída = 78,53975.
2. Criar um algoritmo que leia um valor que representará uma temperatura em graus Célsius. Cal-
cule e imprima esta temperatura convertida para Fahrenheit e Kelvin.
Exemplo para validação: para entrada = 30 o valor esperado de saída para Fahrenheit = 86, e 
saída para Kelvin = 303,15
3. Criar um algoritmo para calcular e imprimir o valor de uma prestação em atraso, considerando a 
seguinte fórmula: prestação = valor + (juros_dia × dias_atraso) onde juros_dia = valor + %juros. 
Importante: lembre que em algoritmos não temos um operador pronto para o cálculo de percentual.
Exemplo para validação: para entrada valor = 30, dias_atraso = 10 e %juros = 1 o valor esperado 
de saída = 33
39
ESTRUTURAS 
CONDICIONAIS
Neste capítulo, aprenderemos sobre operadores lógicos e relacionais. 
Acompanhe-me!
40ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Em alguns exemplos, até verificamos que podemos atribuir valores a variáveis 
lógicas utilizando esses operadores, mas essa é somente uma pequena funcionalidade 
que esses operadores nos provêm nos algoritmos que construímos.
Uma situação que diversos algoritmos precisam lidar é com condições. No con-
texto de um algoritmo, uma condição representa um ponto decisório em que a execução 
do algoritmo seguirá fluxos diferentes conforme o retorno da expressão condicional. 
Isso quer dizer que poderemos escrever trechos de códigos diferentes que serão execu-
tados somente quando o valor de uma ou mais variáveis respeitar a condição proposta.
Fazendo uma analogia com a vida real, podemos exemplificar uma estrutura 
condicional com a seguinte frase: “Se o tempo será de chuva vou sair de casa com o 
guarda-chuva, caso contrário sairei de manga curta”. Nessa frase, podemos avaliar 
exatamente a estrutura condicional que teremos em nossos algoritmos.
Vamos analisar primeiramente a condição: “Se o tempo será de chuva”. Nessa 
expressão, a variável que terá seu valor avaliado é o “tempo” como previsão do tem-
po e chuva é o nosso valor de comparação. Agora, analisaremos as hipóteses. Caso a 
expressão seja verdadeira, a ação será “vou sair de casa com o guarda-chuva”. Caso a 
expressão seja falsa, a ação será “sairei de manga curta”.
Começaremos a realizar condições em nossos algoritmos, iniciaremos com con-
dições simples do tipo “se-entao”.
ESTRUTURA SE-ENTAO
A sintaxe para utilizarmos essas estruturas em nossos algoritmos é a seguinte:
Na primeira linha, temos a palavra reservada “se”, que indica o início da estrutura condi-
cional. Após, temos entre parênteses, a nossa expressão condicional que pode ser uma expressão 
simples (uma condição utilizando somente um operador relacional) ou composta (mais de uma 
condição, cada qual separada por um operador lógico). Por último, temos a palavra reservada 
“entao”, que indica que está iniciando o conjunto de instruções que serão executadas quando a 
condição for verdadeira.
Na segunda linha, podemos ter uma ou mais instruções (chamamos também de bloco de 
instruções) que serão executadas até que se finalize a estrutura condicional através da palavra 
reservada “fimse”, que pode ser vista na terceira linha.
Importante: se você notar no exemplo da sintaxe, na linha 2 temos um espaço 
extra à esquerda. Conforme comentado anteriormente, esse espaço representa a 
indentação do nosso bloco de instruções. 
Não é obrigatório indentar os blocos de código, pois não mudará em nada a 
execução do seu algoritmo. Porém, a indentação é um artifício visual para que 
saibamos que aquele bloco de código está dependendo de uma determinada 
situação para ser executado.
41ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Vamos a um exemplo simples, conforme o seguinte enunciado:
Escreva um algoritmo que leia um número que representa uma temperatura e 
escreva “quente” se a temperatura for maior que 30.
Considerando essa instrução, nosso algoritmo pode ser construído assim (esse, 
e os próximos algoritmos daqui em diante, já está na estrutura do Visualg, ou seja, 
você pode digitá-lo, como aqui se encontra, retirando somente o número das linhas):
Vamos analisar a nova estrutura, das linhas 7 à 9.
Na linha 7, iniciamos nossa estrutura com a palavra reservada “se”, depois te-
mos na nossa condição que é a temperatura maior do que 30 e, no final da linha, a pa-
lavra reservada “entao”, que indica que dali em diante teremos o bloco condicional.
Na linha 8, a nossa instrução condicional (devidamente indentada), represen-
tada pelo comando “escreval”.
E por último, na linha 9, finalizamos a estrutura condicional com a palavra reservada, “fimse”.
Faça diversos testes no Visualg, colocando valores menores, maiores e iguais a 30 e execute 
em modo Passo a Passo. Note que a palavra “quente” só será escrita quando o valor digitado for 
realmente maior que 30.
Agora que você já testou bastante esse algoritmo e entendeu o seu funcionamento, escreva 
e teste um algoritmo, utilizando o Visualg, considerando o seguinte enunciado:
Escreva um algoritmo que leia dois números e escreva, “são iguais”, caso estes números 
sejam realmente iguais.
Não colocarei a solução desse algoritmo aqui, pois quero que você pratique os seus co-
nhecimentos. Se você está com dúvida de como criar o algoritmo para o enunciado dado, leia 
novamente o material.
ESTRUTURA SE-ENTAO-SENAO
Além da estrutura “se-então”, que nos permite executar um bloco de instruções, caso a ex-
pressão condicional seja verdadeira, temos também a estrutura “se-entao-senao”, que permite 
também a execução de um bloco de instruções quando a expressão condicional for falsa.
A sintaxe é bem semelhante. Vamos a ela:
42ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Analisando a sintaxe, podemos notar que foi incluída, na linha 3, a palavra reservada 
“senao”, a qual indica o final das instruções, caso a condição seja verdadeira e, o início das 
instruções, caso a condição seja falsa. 
Agora, vamos modificar umpouco o enunciado que vimos anteriormente.
Escreva um algoritmo que leia um número que represente uma temperatura e escreva 
“quente”, se a temperatura for maior que 30 e escreva “frio” caso contrário.
Note agora, que na linha 9 temos a palavra reservada “senao”, que indica o final dos 
comandos, caso a temperatura seja maior que 30 e o início dos comandos caso, seja menor ou 
igual a 30. Na linha 10 temos a nossa instrução de escrita para quando a condição retornar um 
valor falso. Na linha 11, temos a finalização de toda a estrutura condicional.
Novamente, sugiro que você execute esse algoritmo no Visualg, em formato passo a pas-
so, digitando valores maiores, menores e igual a 30.
Agora, praticaremos um algoritmo para um enunciado (esse algoritmo também não es-
tará com a solução):
Escreva um algoritmo que leia dois números. Se os números forem diferentes, calcule 
a subtração do primeiro pelo segundo número e escreva o resultado. Caso eles sejam iguais, 
calcule a soma e escreva o resultado.
43ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
EXPRESSÕES CONDICIONAIS COMPOSTAS
Até o momento, tanto os exemplos dados, quanto os algoritmos que você deve ter criado para 
praticar, utilizam expressões condicionais simples, ou seja, possuem somente uma condição. 
Se você voltar um pouco no conteúdo, verá que temos os operadores lógicos que nos permi-
tem realizar expressões que possuem mais de uma condição.
Do ponto de vista das estruturas condicionais, a sintaxe é a mesma, mudando somente a ex-
pressão presente dentro dos parênteses, mas vamos ver alguns exemplos para que você coloque 
em prática os operadores lógicos que vimos lá atrás.
Vamos considerar um novo enunciado:
Escreva um algoritmo que leia 3 números. Escreva “igual”, caso os 3 números sejam iguais 
ou escreva “diferente”, caso algum deles seja diferente dos demais.
Solução:
Importante: para analisar esse algoritmo, devemos acionar um 
pensamento lógico. O enunciado do algoritmo solicitava que fosse 
feita a comparação entre os três números para verificar se os três são 
iguais, porém, temos somente dois testes (n1 = n2 e n2 = n3).
Podemos construir o algoritmo somente com dois testes, porque 
no caso de n1 ser igual a n2 e n2 ser igual a n3, podemos assumir 
implicitamente que n1 é igual a n3.
Vamos praticar mais um pouco, considerando o seguinte enunciado:
Escreva um algoritmo que leia dois números e escreva “você digitou um nú-
mero maior do que 20” caso algum dos números digitados seja realmente maior do 
que 20. No caso, se nenhum dos números for maior que 20 escreva “os dois números 
são menores que 20”.
44ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
ESTRUTURA DE SELEÇÃO ANINHADA
Nem sempre, ao escrevermos nossos algoritmos, temos regras simples do tipo “se-en-
tao” ou “se-entao-senao”. Às vezes, temos várias regras condicionais que não podem ser 
traduzidas para algoritmos somente com as estruturas, “se-entao-senao”.
Suponha que você tenha um problema para resolver, que tenha um enunciado assim:
Escreva um algoritmo que leia um número que escreva “positivo”, caso o número di-
gitado seja maior que zero, “negativo” caso o número seja menor que zero ou “neutro” se o 
número for igual a zero.
Desse modo, com uma estrutura “se-entao-senao”, conseguimos facilmente atender 
os dois primeiros requisitos, porém, o último (do neutro) ficará sem atendimento, a não 
ser, é claro, que utilizássemos três estruturas diferentes do tipo “se-entao”, uma para cada 
requisito. Vamos ver como ficaria nesse caso:
Se você rodar esse algoritmo através do Visualg, verá que ele funciona, perfeitamente, 
atendendo todos os requisitos do problema. Porém, executando-o em modo passo a passo, 
notará que, mesmo que você digite um número maior do que zero, a execução do algoritmo 
realizará os outros dois testes. E isso pode ser um problema.
Vamos supor que, no enunciado do algoritmo tenha um outro requisito que diga assim:
Escreva um algoritmo que leia um número que escreva “correto”, caso o número 
digitado for igual a 10. Se não for, o algoritmo deve escrever “positivo”, caso o número 
digitado seja maior que zero, “negativo” caso o número seja menor que zero ou “neutro” 
caso o número seja igual a zero.
45ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Dessa maneira, não basta somente adicionar uma nova estrutura para testar se o 
número é igual a 10. Supondo que nossa ideia seja adicionar uma nova estrutura para o 
teste igual a 10, anterior as demais, como o algoritmo executará também os próximos 
testes, no resultado final seria escrito, caso digitado o número 10, primeiro “correto” 
e na sequência “positivo”, pois os demais testes também seriam executados.
Faça o teste no Visualg, digitando o número 10:
Para solucionar esse problema, temos ao nosso dispor uma técnica de aninha-
mento de condições.
Primeiramente, temos que entender o que significa uma estrutura estar aninha-
da. No nosso contexto, a melhor definição quando falamos que algo está aninhado é 
dizer que está envolto. Vamos pensar na nossa estrutura “se-entao-senao”. Porque 
não podemos aninhar, dentro do bloco do “senao” uma nova estrutura “se-entao-senao”? Na ver-
dade, é isso mesmo que temos que fazer para resolver esse tipo de problema. Vamos aninhar as es-
truturas condicionais, tantas quantas forem necessárias para atender aos nossos requisitos. 
Agora que já entendemos o que podemos fazer, o mais importante é: Como fazer? Seguindo o 
mesmo enunciado, analise como não é nada de outro mundo:
Podemos notar que o que foi feito não é a aplicação de um novo conceito, mas sim uma nova 
técnica. A ideia aqui é utilizar o bloco “senao” para uma nova estrutura condicional. Isso faz com que 
essa estrutura só seja executada se o primeiro teste retornar um valor falso.
Importante: note o quão importante é a utilização da técnica de indentação, nesses 
casos. Faça o teste retirando os espaços em branco do início da linha e veja como, 
“visualmente”, fica mais complicado de entender o fluxo do algoritmo.
46ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Agora que já entendemos o funcionamento das estruturas condicionais “se-entao” e “se-en-
tao-senao” e também as técnicas de expressões condicionais compostas e de estruturas condicio-
nais aninhadas, vamos ver em um enunciado mais prático, como podemos aplicá-las.
Escreva um algoritmo que leia três números inteiros que representam as dimensões de um 
possível triângulo. Esse algoritmo deve verificar primeiramente se as dimensões formam um tri-
ângulo, escrevendo “não é um triângulo” quando não formar. Caso forme um triângulo, o algo-
ritmo deve classificá-lo como equilátero, isósceles ou escaleno. Seguem as regras:
• Para formar um triângulo, nenhum dos lados pode ter comprimento igual a zero e nenhum 
dos lados pode ter comprimento igual a soma dos demais lados.
• Para ser um triângulo equilátero, todos os lados devem ter o mesmo comprimento.
• Para ser um triângulo isósceles, dois lados devem possuir o mesmo comprimento.
• Para ser um triângulo escaleno, todos os lados devem possuir comprimentos diferentes.
Minha primeira dica para esse algoritmo é não olhar a solução que virá na sequência. Lem-
bre-se: é muito importante a prática para o desenvolvimento do raciocínio lógico. 
Vamos aprender as dicas para construção do algoritmo? Primeiramente, tente compreen-
der, do ponto de vista prático, as restrições que o enunciado nos impõe. Entenda como elas cor-
relacionam para que você possa organizar a construção do seu algoritmo.
Quando começar a escrever o algoritmo, tenha em mente que você deve tentar 
quebrá-lo em partes, para que fique mais simples. Dessa forma, vamos tentar aplicar 
uma regra do enunciado de cada vez. Sabendo que essa regra funciona (fazendo pe-
quenos testes de mesa direcionados), aí sim, passamos à próxima regra.
Agora é a hora de pegar o papel e a caneta, para escrevê-lo ou iniciar um novo algo-
ritmo no Visualg, caso você se sinta mais confortável. Lembre-se:só pule para a solução 
quando você tiver concluído ou se você não conseguiu desenvolver por conta própria.
47ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Ao analisar a solução, atente para os comentários (frase que vem após a sequência de duas 
barras “//”). Quando estiver criando um algoritmo que possua um nível de complexidade maior, 
utilize a técnica de comentar os trechos que são mais importantes para o seu entendimento.
Se você chegou até aqui e ficou um pouco confuso, volte um pouco no material e releia 
com calma o funcionamento das estruturas condicionais. No final do capítulo, você encon-
trará alguns exercícios para praticar. Se desejar, neste momento, você pode tentar resolver 
algum destes exercícios antes de seguir adiante para o último tipo de estrutura condicional, 
que pode ser utilizada na construção dos algoritmos.
ESTRUTURA DE SELEÇÃO MÚLTIPLA ESCOLHA
Antes de entendermos como funciona esse tipo de seleção, vamos deixar claro que ela 
não é uma estrutura essencial. Isso quer dizer, que os problemas que podemos solucionar 
com esse tipo de estrutura, também podem ser solucionados com uma estrutura do tipo 
“se-entao-senao” aninhadas.
Iniciaremos por um exemplo de problema e solução, utilizando uma estrutura “se-en-
tao-senao”. Posteriormente, solucionaremos o mesmo problema, porém, utilizando uma 
estrutura de seleção múltipla escolha.
Suponha o seguinte problema:
Escreva um algoritmo que calculará o valor a ser pago como IPTU (Imposto Predial e 
Territorial Urbano). Para isso, o algoritmo deverá ler dois números. O primeiro representa 
o código de um tipo de imóvel e o segundo representa a área do imóvel, cujo IPTU será cal-
culado. O cálculo é realizado, multiplicando-se a área do imóvel pelo fator referente ao tipo 
do imóvel, conforme tabela. Caso o código do tipo do imóvel digitado não esteja presente 
na tabela, apresente uma mensagem de erro informando: “Tipo do imóvel inválido”. Se o 
código digitado for válido, realize o cálculo e escreva a área digitada, a descrição do tipo do 
imóvel e o valor do IPTU calculado.
Lembre-se! Primeiro tente solucionar por conta própria, após verá a solução.
Obs: a área do imóvel não é necessariamente um número inteiro.
Código Tipo Imóvel Fator IPTU
1 Residencial – Casa R$ 200,00
2 Residencial – Prédio R$ 180,00
3 Comercial – Casa R$ 300,00
4 Comercial – Prédio R$ 280,00
5 Industrial R$ 400,00
Executando algoritmo
48ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Espero que você tenha chegado até aqui com um 
algoritmo que solucione o problema proposto. Não 
tenho a pretensão que o algoritmo seja igual ao pro-
posto, mas acredito que o seu também venha estar 
bem estruturado para solução do problema. Agora, 
analisaremos a solução dada.
Primeiramente, quero falar de uma técnica que 
foi usada. Conforme o enunciado do algoritmo, o 
cálculo do IPTU é o mesmo, independente do tipo do 
imóvel, o que muda é somente o fator e a descrição 
do tipo do imóvel. Tendo isso em mente, criamos es-
truturas condicionais que somente preenchem vari-
áveis para cada tipo de imóvel. No final do algoritmo, 
na linha 37, uma outra estrutura condicional testa se 
o fator de multiplicação é igual a zero, informando 
que, caso esse teste retorne verdadeiro, o código do 
imóvel digitado é um código inválido. Esse teste se 
torna verdadeiro no caso de um código inválido, pois 
na linha 12, a variável fator foi inicializada com va-
lor zero. A aplicação dessa técnica permite que não 
repitamos as linhas 40 à 43 em cada um dos testes 
realizados pelas estruturas condicionais.
49ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
Agora, analisaremos as estruturas condicionais. Note, entre as linhas 13 e 36, não passam de 
estruturas condicionais “se-entao-senao” aninhadas. Cada uma das estruturas verifica se o código 
digitado corresponde ao da estrutura, para, em caso verdadeiro, atribuir os valores corresponden-
tes às variáveis “fator” e “tipo imóvel”. Caso a expressão de seleção seja avaliada como falsa, passa 
para o próximo teste a ser realizado dentro do bloco “senao”, até que atinja o último teste (“código 
= 5”), onde não é necessário ter uma estrutura “senao”, pois a mensagem de código inválido está 
sendo validada com o teste simples, realizado na linha 37. Construir o algoritmo, isolando os testes 
lógicos de seleção do teste lógico de saída, facilitará uma alteração do algoritmo para, por exemplo, 
colocarmos mais códigos de tipos de imóveis. Nesse caso, bastaria complementarmos o último teste 
de validação (linha 29) para incluirmos uma estrutura senão e continuaremos conforme a quanti-
dade de novos testes que forem necessários.
Caso não tenha ficado claro o funcionamento desse algoritmo, sugiro digitá-lo no Visualg, as-
sim como está, e executá-lo passo a passo para entender como o mesmo será executado. Siga adian-
te somente após entendermos a lógica aplicada. Isso é essencial para compreensão da estrutura de 
seleção múltipla escolha.
Agora que já está bem entendido o funcionamento desse algoritmo, vamos iniciar a análise de uma 
situação que acontece nele. Especificamente, entre as linhas 13 e 36, como vimos anteriormente, estamos 
somente verificando o código digitado para atribuirmos o valor às variáveis referentes ao código digitado.
Note que a estrutura aninhada já começa a se tornar visualmente complicada para o entendimen-
to do algoritmo. Imagina se tivéssemos nas regras do enunciado uma tabela com 10 códigos de tipo de 
imóveis. Imagine o quão complicado seria essa estrutura condicional.
É justamente para resolver esse problema que a estrutura de seleção múl-
tipla escolha existe. Com essa nova estrutura não precisamos ficar aninhando 
estruturas do tipo “se-senao-entao”. Modificaremos esse algoritmo para en-
tender como funciona essa estrutura.
50ALGORITMOS E PROGRAMAÇÃO I
 SUMÁRIO
A mudança ocorreu entre as linhas 13 a 36 do primeiro algoritmo, 
que foram substituídas pelas linhas 13 a 29 desse novo algoritmo.
Na linha 13, iniciamos pela palavra reservada, “escolha”, segui-
da da variável “código”. Essa instrução indica que está sendo iniciada 
uma estrutura múltipla escolha que avaliará o valor da variável “códi-
go”. Nas linhas 14, 17, 20, 23 e 26, temos a palavra reservada “caso” e 
os possíveis valores à variável. Isso quer dizer que será testado o valor 
da variável e a execução pulará à linha do valor correspondente. Ao en-
contrarmos o valor correspondente, a execução seguirá pelas linhas de 
código posteriores até que seja encontrada uma instrução com a palavra 
reservada “caso”, “fimescolha” e uma outra palavra reservada que ve-
remos na sequência. Encontrar uma dessas palavras reservadas indica o 
final do bloco de instruções do caso.
Não ficou claro? Não se preocupe! Analisaremos a estrutura de for-
ma isolada e fora do contexto do problema.
Agora, com a estrutura isolada, fica mais fácil entendermos como ela funciona. Note na primeira linha a 
palavra reservada “escolha”, seguida da variável que será testada.
Das linhas 2 a 8 temos sempre um caso testado com a palavra reservada homônima, seguido de um bloco 
de instruções referente ao caso.
Agora, na linha 9, surgiu uma nova palavra reservada, chamada “outrocaso”. Conforme havíamos co-
mentado anteriormente, três palavras reservadas encerram um bloco de instruções de um caso. São elas 
“caso”, que indica que um novo teste está inciando; “fimescolha” que indica o final de toda a estrutura de 
seleção de múltipla escolha, e, agora, a palavra reservada “outrocaso”.
Essa palavra “reservada” indica que iniciou um bloco de instruções, que será executado sempre que não 
for encontrado um caso correspondente para o valor da variável que acompanha o início da estrutura. 
Dentro da estrutura de seleção de múltipla escolha, podemos ter quantos casos desejarmos, porém, só po-
deremos ter um bloco final do tipo “outrocaso”, dentro da estrutura representada pela palavra “fimescolha”.
É importante salientar

Outros materiais