Estruturas de Decisão
AULA 04 — Estruturas de Decisão: Fazendo Escolhas nos Algoritmos
Parte 1 – Introdução à Tomada de Decisão
Tema da aula: Como um algoritmo decide qual caminho seguir?
Objetivos da aula
Ao final desta parte você será capaz de:
- compreender por que algoritmos precisam tomar decisões;
- identificar situações que exigem escolhas;
- compreender o conceito de condição;
- diferenciar uma expressão aritmética de uma expressão relacional;
- utilizar corretamente os operadores relacionais;
- interpretar o resultado de uma comparação.
A pergunta da aula
Nas aulas anteriores aprendemos que um algoritmo:
- recebe dados;
- realiza um processamento;
- apresenta um resultado.
Até aqui, todos os algoritmos executavam exatamente as mesmas instruções.
Mas será que isso acontece em todos os problemas?
A resposta é não.
Existem situações em que o algoritmo precisa decidir qual ação executar.
Essa capacidade de escolher entre diferentes caminhos torna os algoritmos muito mais úteis e inteligentes.
Situação-Problema
Imagine que uma escola deseja desenvolver um sistema para informar automaticamente o resultado final de seus estudantes.
Ao final do semestre, o professor informa a média de cada aluno.
Observe alguns exemplos.
| Aluno | Média |
| Ana | 9,2 |
| Bruno | 7,5 |
| Carlos | 6,0 |
| Daniela | 3,8 |
Todos os alunos passaram pelo mesmo processo de avaliação.
No entanto, eles não receberão exatamente a mesma resposta.
Alguns serão aprovados.
Outros ficarão em recuperação.
Outros serão reprovados.
Surge então uma pergunta importante.
Como o computador sabe qual mensagem deve mostrar para cada aluno?
Ele precisa analisar uma condição antes de decidir.
É exatamente esse mecanismo que estudaremos nesta aula.
Decisões fazem parte da nossa vida
Muito antes dos computadores existirem, as pessoas já tomavam decisões o tempo todo.
Observe algumas situações.
Exemplo 1
Se estiver chovendo,
leve um guarda-chuva.
Caso contrário,
não será necessário.
Exemplo 2
Se o semáforo estiver verde,
atravesse.
Senão,
espere.
Exemplo 3
Se houver dinheiro suficiente,
efetue a compra.
Caso contrário,
não compre.
Exemplo 4
Se a temperatura estiver abaixo de 18 °C,
vista um casaco.
Caso contrário,
não há necessidade.
Perceba que todos esses exemplos possuem uma característica em comum.
Existe uma condição.
Dependendo do resultado dessa condição, uma ação diferente será executada.
O que é uma decisão?
Uma decisão ocorre quando um algoritmo precisa escolher entre dois ou mais caminhos possíveis.
Em vez de executar sempre as mesmas instruções, ele primeiro analisa uma situação.
Somente depois decide o que fazer.
Podemos representar essa ideia da seguinte maneira:

Essa é uma das maiores diferenças entre um algoritmo muito simples e um algoritmo capaz de resolver problemas reais.
O que é uma condição?
Uma condição é uma pergunta cuja resposta só pode assumir dois resultados.
- Verdadeiro
- Falso
Observe alguns exemplos.
| Pergunta | Resposta |
| O aluno tem média maior ou igual a 7? | Verdadeiro ou Falso |
| A idade é maior que 18? | Verdadeiro ou Falso |
| O saldo da conta é suficiente? | Verdadeiro ou Falso |
| A senha digitada está correta? | Verdadeiro ou Falso |
Perceba que nenhuma dessas perguntas possui uma terceira resposta.
Sempre chegaremos a apenas uma das duas possibilidades.
Nem toda pergunta é uma condição
Observe as perguntas abaixo.
- Qual é o seu nome?
- Quanto você pesa?
- Em que cidade você mora?
Essas perguntas possuem inúmeras respostas possíveis.
Portanto, não são condições.
Agora observe.
- A idade é maior que 18?
- A nota é menor que 6?
- O produto está disponível?
Essas perguntas possuem apenas dois resultados possíveis.
São, portanto, condições.
Comparando valores
Para que um algoritmo tome decisões, ele precisa comparar informações.
Veja alguns exemplos.
idade = 20
idade > 18
Pergunta:
A idade é maior que 18?
Resposta:
Sim.
Logo, a condição é verdadeira.
Outro exemplo.
nota = 5
nota >= 7
Pergunta:
A nota é maior ou igual a 7?
Resposta:
Não.
Logo, a condição é falsa.
Mais um exemplo.
temperatura = 32
temperatura < 25
Pergunta:
A temperatura é menor que 25?
Resposta:
Não.
Resultado:
Falso.
Expressões aritméticas × expressões relacionais
Até agora utilizamos expressões matemáticas para realizar cálculos.
Por exemplo:
5 + 3
Resultado:
8
Observe outro exemplo.
10 * 4
Resultado:
40
Essas são chamadas de expressões aritméticas, pois produzem um valor numérico.
Agora observe:
8 > 5
Resultado:
Verdadeiro
Outro exemplo.
3 == 9
Resultado:
Falso
Essas são chamadas de expressões relacionais, pois realizam uma comparação entre dois valores.
Enquanto uma expressão aritmética produz um número, uma expressão relacional produz apenas um resultado lógico:
- Verdadeiro
- Falso
Essa diferença é fundamental para compreender as estruturas de decisão.
Operadores relacionais
Para realizar comparações utilizamos operadores relacionais.
São eles:
| Operador | Significado | Exemplo | Resultado |
> |
Maior que | 8 > 5 | Verdadeiro |
< |
Menor que | 3 < 1 | Falso |
>= |
Maior ou igual | 7 >= 7 | Verdadeiro |
<= |
Menor ou igual | 5 <= 2 | Falso |
== |
Igual a | 10 == 10 | Verdadeiro |
<> |
Diferente de (Portugol) | 4 <> 9 | Verdadeiro |
Observação
Em Portugol, o operador de diferença é representado por <> (e na maioria das linguagens de programação).
Em outras linguagens você poderá encontrar símbolos diferentes, como != (mais raramente).
Cuidado com um erro muito comum
Observe as duas expressões abaixo.
idade <- 18
e
idade == 18
Embora pareçam semelhantes, elas possuem significados completamente diferentes.
Na primeira expressão:
idade <- 18
o algoritmo armazena o valor 18 na variável.
Na segunda:
idade == 18
o algoritmo compara o valor armazenado na variável com o número 18.
Essa diferença é extremamente importante.
Guardar um valor não é a mesma coisa que compará-lo.
Exemplos do cotidiano
Complete mentalmente as situações abaixo.
Exemplo 1
Se a bateria do celular estiver abaixo de 10%,
Exemplo 2
Se o elevador estiver lotado,
Exemplo 3
Se houver vaga no estacionamento,
Exemplo 4
Se a internet estiver indisponível,
Perceba que, em todos os casos, primeiro analisamos uma condição.
Somente depois decidimos qual ação executar.
É exatamente isso que um algoritmo fará.
Exercícios de Fixação
Exercício 1
Indique quais das perguntas abaixo representam condições.
a) Qual é sua idade?
( ) Condição
( ) Não é condição
b) A temperatura é maior que 30 °C?
( ) Condição
( ) Não é condição
c) O produto está em estoque?
( ) Condição
( ) Não é condição
d) Qual é o nome do aluno?
( ) Condição
( ) Não é condição
Exercício 2
Determine o resultado das expressões abaixo.
a)
15 > 8
Resultado: ______________________
b)
20 <= 15
Resultado: ______________________
c)
9 == 9
Resultado: ______________________
d)
12 <> 7
Resultado: ______________________
e)
5 >= 9
Resultado: ______________________
Exercício 3
Escreva uma condição para responder às seguintes perguntas.
a) O aluno foi aprovado?
b) A pessoa é maior de idade?
c) O saldo é suficiente para realizar a compra?
d) A temperatura está abaixo de zero?
Resumo da Parte 1
Nesta primeira parte você aprendeu que:
- nem todo algoritmo executa sempre as mesmas instruções;
- muitos problemas exigem tomada de decisão;
- uma decisão depende da avaliação de uma condição;
- uma condição produz apenas dois resultados: Verdadeiro ou Falso;
- comparações são realizadas por meio de expressões relacionais;
- os operadores relacionais permitem construir essas comparações.
AULA 04 — Estruturas de Decisão: Fazendo Escolhas nos Algoritmos
Parte 2 – Combinando Condições com Operadores Lógicos
Tema da aula: Como o algoritmo toma decisões mais complexas?
Objetivos desta parte
Ao final desta parte você será capaz de:
- compreender o significado de valores lógicos;
- interpretar os operadores lógicos;
- utilizar corretamente os operadores E, OU e NÃO;
- interpretar tabelas-verdade;
- construir expressões lógicas simples e compostas;
- identificar erros comuns na construção de condições.
Retomando a aula
Na primeira parte aprendemos que uma condição produz apenas dois resultados possíveis:
- Verdadeiro
- Falso
Também vimos que podemos construir condições utilizando operadores relacionais.
Por exemplo:
idade >= 18
ou
media >= 7
Essas condições são simples.
Mas será que todos os problemas podem ser resolvidos com apenas uma comparação?
A resposta é não.
Muitas situações exigem que duas ou mais condições sejam analisadas ao mesmo tempo.
Situação-Problema
Imagine o sistema de uma locadora de veículos.
Para alugar um automóvel, uma pessoa deve atender aos seguintes requisitos:
- possuir carteira de habilitação;
- ter idade igual ou superior a 21 anos.
Observe.
Uma pessoa de 25 anos, mas sem habilitação, pode alugar um veículo?
Não.
Uma pessoa habilitada, mas com 18 anos?
Também não.
Somente quando as duas condições forem verdadeiras o aluguel poderá ser realizado.
Como representar essa situação em um algoritmo?
Valores lógicos
Quando uma condição é avaliada, ela produz um valor lógico.
Existem apenas dois valores possíveis.
| Valor | Significado |
| Verdadeiro | A condição foi satisfeita. |
| Falso | A condição não foi satisfeita. |
Esses valores são conhecidos como valores booleanos.
Toda decisão tomada por um algoritmo depende desses dois resultados.
Combinando condições
Observe a situação abaixo.
Para ser aprovado em um concurso, o candidato precisa:
- obter nota maior ou igual a 70;
- comparecer à prova.
Não basta apenas ter uma boa nota.
Também é necessário comparecer.
Logo, existem duas condições.
Quando isso acontece, utilizamos operadores lógicos.
Operadores lógicos
Os principais operadores lógicos são:
| Operador | Significado |
| E | Todas as condições devem ser verdadeiras. |
| OU | Pelo menos uma condição deve ser verdadeira. |
| NÃO | Inverte o resultado lógico. |
Esses operadores permitem construir decisões mais elaboradas.
Operador E
O operador E exige que todas as condições sejam verdadeiras.
Imagine uma porta protegida por duas fechaduras.
Ela só poderá ser aberta quando as duas chaves forem utilizadas.
Visualmente:
Seu navegador não suporta iframes. Clique aqui para ver o conteúdo.
Se qualquer uma das condições for falsa, o resultado também será falso.
Exemplo 1
Uma pessoa pode dirigir quando:
- possui carteira;
- possui idade mínima.
Expressão:
idade >= 18 E possuiCarteira
Observe alguns casos.
| Idade | Carteira | Resultado |
| 22 | Sim | Verdadeiro |
| 16 | Sim | Falso |
| 30 | Não | Falso |
| 15 | Não | Falso |
Somente a primeira situação atende às duas condições.
Tabela-verdade do operador E
| Condição A | Condição B | A E B |
| Verdadeiro | Verdadeiro | Verdadeiro |
| Verdadeiro | Falso | Falso |
| Falso | Verdadeiro | Falso |
| Falso | Falso | Falso |
Observe que existe apenas uma combinação que produz Verdadeiro.
Operador OU
O operador OU é menos rigoroso.
Ele exige apenas que uma das condições seja verdadeira.
Imagine uma promoção.
O estudante terá direito ao desconto se apresentar:
-
carteira estudantil;
OU
-
declaração de matrícula.
Basta apresentar um dos documentos.
Exemplo 2
Uma pessoa poderá entrar no evento quando possuir:
-
convite;
OU
-
nome na lista de convidados.
Expressão:
temConvite OU estaNaLista
Observe.
| Convite | Lista | Resultado |
| Sim | Sim | Verdadeiro |
| Sim | Não | Verdadeiro |
| Não | Sim | Verdadeiro |
| Não | Não | Falso |
Tabela-verdade do operador OU
| Condição A | Condição B | A OU B |
| Verdadeiro | Verdadeiro | Verdadeiro |
| Verdadeiro | Falso | Verdadeiro |
| Falso | Verdadeiro | Verdadeiro |
| Falso | Falso | Falso |
Observe que apenas uma combinação produz Falso.
Operador NÃO
O operador NÃO faz exatamente o contrário.
Ele inverte o resultado da condição.
| Condição | NÃO Condição |
| Verdadeiro | Falso |
| Falso | Verdadeiro |
Exemplo 3
Imagine um sistema de biblioteca.
O livro poderá ser emprestado quando ele não estiver reservado.
A condição:
livroReservado
Pode produzir:
- Verdadeiro
- Falso
Ao utilizar o operador NÃO, obtemos:
NAO livroReservado
Agora:
Se o livro estiver reservado → resultado falso.
Se o livro não estiver reservado → resultado verdadeiro.
Comparando os três operadores
| Situação | Operador adequado |
| Todas as condições devem ser satisfeitas. | E |
| Basta uma condição ser satisfeita. | OU |
| Deseja inverter uma condição. | NÃO |
Erros comuns
Erro 1
Confundir E com OU.
Observe.
Para dirigir:
idade >= 18 E possuiCarteira
Está correto.
Mas escrever:
idade >= 18 OU possuiCarteira
permitiria dirigir apenas por possuir carteira ou apenas por ter idade suficiente.
O resultado seria incorreto.
Erro 2
Esquecer que cada comparação deve estar completa.
Incorreto:
idade >= 18 E 60
Correto:
idade >= 18 E idade <= 60
Cada lado do operador lógico deve ser uma condição válida.
Erro 3
Utilizar o operador NÃO sem compreender seu efeito.
Observe.
NAO alunoAprovado
Essa expressão será verdadeira apenas quando o aluno não estiver aprovado.
Exercícios de Fixação
Exercício 1
Complete utilizando E, OU ou NÃO.
a)
Uma pessoa pode votar facultativamente quando possui 16 anos ou mais ______ menos de 18 anos.
b)
Para obter um empréstimo bancário é necessário possuir renda suficiente ______ não possuir restrições cadastrais.
c)
Um computador poderá ser ligado apenas quando ______ houver falta de energia.
Exercício 2
Determine o resultado das expressões.
a)
Verdadeiro E Verdadeiro
Resultado: ___________________
b)
Verdadeiro E Falso
Resultado: ___________________
c)
Falso OU Verdadeiro
Resultado: ___________________
d)
NAO Verdadeiro
Resultado: ___________________
e)
NAO Falso
Resultado: ___________________
Exercício 3
Escreva uma condição para cada situação.
a) Um aluno será aprovado quando possuir média maior ou igual a 7 e frequência maior ou igual a 75%.
b) Uma pessoa poderá receber atendimento preferencial quando possuir idade igual ou superior a 60 anos ou apresentar deficiência.
c) Um caixa eletrônico somente permitirá o saque quando o cartão não estiver bloqueado.
Resumo da Parte 2
Nesta parte você aprendeu que:
- uma condição produz um valor lógico;
- existem apenas dois valores lógicos: Verdadeiro e Falso;
- o operador E exige que todas as condições sejam verdadeiras;
- o operador OU exige apenas uma condição verdadeira;
- o operador NÃO inverte o resultado lógico;
- expressões compostas permitem representar decisões do mundo real de forma precisa.
Na próxima parte, utilizaremos esses conceitos para construir os primeiros algoritmos com a estrutura Se...Então e, posteriormente, Se...Então...Senão, permitindo que os algoritmos escolham automaticamente qual conjunto de instruções executar.
AULA 04 — Estruturas de Decisão: Fazendo Escolhas nos Algoritmos
Parte 3 – Utilizando as Estruturas Se…Então e Se…Então…Senão
Tema da aula: Como fazer um algoritmo escolher entre diferentes caminhos?
Objetivos desta parte
Ao final desta parte você será capaz de:
- compreender o funcionamento da estrutura Se…Então;
- compreender o funcionamento da estrutura Se…Então…Senão;
- construir algoritmos com decisões simples e compostas;
- interpretar corretamente o fluxo de execução de um algoritmo;
- validar algoritmos utilizando teste de mesa.
Retomando a aula
Nas partes anteriores aprendemos que uma condição pode produzir apenas dois resultados:
- Verdadeiro
- Falso
Também aprendemos a construir condições utilizando operadores relacionais e operadores lógicos.
Observe alguns exemplos.
idade >= 18
media >= 7
idade >= 18 E possuiCNH = verdadeiro
Essas expressões respondem apenas uma pergunta.
A resposta será sempre Verdadeiro ou Falso.
Mas surge uma nova dúvida.
O que o algoritmo faz depois de descobrir o resultado da condição?
É exatamente essa pergunta que responderemos agora.
Situação-Problema
Imagine um caixa eletrônico.
Uma pessoa deseja sacar R$ 200,00.
O computador consulta o saldo da conta.
Existem apenas duas possibilidades.
Situação 1
Saldo = R$ 500,00
Resultado:
O saque poderá ser realizado.
Situação 2
Saldo = R$ 80,00
Resultado:
O saque deverá ser recusado.
Observe que o algoritmo não executa sempre as mesmas instruções.
Dependendo da condição, ele seguirá caminhos diferentes.
O algoritmo começa a tomar decisões
Até a aula anterior, todos os algoritmos executavam exatamente as mesmas instruções.
Agora isso muda.
Dependendo do resultado de uma condição, uma parte do algoritmo poderá ser executada e outra poderá ser ignorada.
Podemos representar essa ideia da seguinte forma.
Essa capacidade torna os algoritmos muito mais úteis, pois eles passam a se adaptar às diferentes situações encontradas durante sua execução.
A estrutura Se…Então
A estrutura Se…Então é utilizada quando desejamos executar determinadas instruções somente se uma condição for verdadeira.
Sua estrutura geral é:
Se condição Então
instruções
FimSe
Observe cada elemento.
- Se → inicia a decisão.
- condição → expressão que será avaliada.
- Então → indica que as instruções abaixo serão executadas caso a condição seja verdadeira.
- FimSe → indica o final da estrutura.
Funcionamento
O computador executa os seguintes passos:
- Avalia a condição.
- Se ela for verdadeira, executa o bloco de instruções.
- Se ela for falsa, ignora esse bloco.
- Continua a execução normalmente.
Observe o fluxograma lógico.

Primeiro exemplo
Deseja-se informar se um estudante foi aprovado.
Critério:
-
Média maior ou igual a 7.
Algoritmo em Portugol
Algoritmo "Aprovacao"
Var
media : Real
Inicio
Escreva("Digite a média do aluno: ")
Leia(media)
Se media >= 7 Então
Escreva("Aluno aprovado.")
FimSe
FimAlgoritmo
Teste de Mesa
Caso 1
Entrada
media = 8,5
A condição
media >= 7
Resultado
Verdadeiro
Mensagem exibida
Aluno aprovado.
Caso 2
Entrada
media = 5,0
A condição
media >= 7
Resultado
Falso
Mensagem exibida
Nenhuma.
O algoritmo simplesmente continua sua execução.
Observe um detalhe importante
Muitos estudantes iniciantes acreditam que, quando a condição é falsa, ocorre algum erro.
Isso não acontece.
Quando a condição é falsa, o computador apenas não executa aquele bloco de instruções.
Depois continua executando normalmente o restante do algoritmo.
Quando utilizar apenas o Se…Então
Essa estrutura é adequada quando existe apenas uma ação a ser executada.
Por exemplo:
- avisar que um aluno foi aprovado;
- informar que um produto está em promoção;
- emitir um alerta quando a temperatura estiver alta;
- avisar quando uma senha estiver correta.
Em todos esses casos, caso a condição seja falsa, nenhuma ação especial precisa ser realizada.
Exercício Resolvido
Problema
Desenvolva um algoritmo que leia a idade de uma pessoa.
Caso ela tenha 18 anos ou mais, escreva:
Maior de idade.
Solução
Algoritmo "Maior_Idade"
Var
idade : Inteiro
Inicio
Escreva("Digite sua idade: ")
Leia(idade)
Se idade >= 18 Então
Escreva("Maior de idade.")
FimSe
FimAlgoritmo
E quando existem duas possibilidades?
Nem sempre basta executar uma ação quando a condição é verdadeira.
Muitas vezes precisamos executar uma ação quando a condição for verdadeira e outra quando ela for falsa.
Considere o exemplo.
Uma escola deseja informar:
- Aprovado
- Reprovado
Se o aluno não for aprovado, necessariamente deverá ser reprovado.
Nesse caso utilizamos outra estrutura.
A estrutura Se…Então…Senão
Sua estrutura geral é:
Se condição Então
instruções
Senão
outras instruções
FimSe
Agora o algoritmo sempre executará um dos dois blocos.
Como funciona?
O computador segue estes passos.
- Avalia a condição.
- Se ela for verdadeira, executa o primeiro bloco.
- Caso contrário, executa o segundo bloco.
- Continua normalmente.
- Representando graficamente:

Exemplo Resolvido
Critério:
- Média maior ou igual a 7 → aprovado.
- Caso contrário → reprovado.
Algoritmo "Resultado"
Var
media : Real
Inicio
Escreva("Digite a média: ")
Leia(media)
Se media >= 7 Então
Escreva("Aluno aprovado.")
Senão
Escreva("Aluno reprovado.")
FimSe
FimAlgoritmo
Teste de Mesa
Caso 1
media = 8
Condição
8 >= 7
Resultado
Verdadeiro
Mensagem
Aluno aprovado.
Caso 2
media = 4
Condição
4 >= 7
Resultado
Falso
Mensagem
Aluno reprovado.
Estudo de Caso
Uma empresa concede acesso ao estacionamento apenas aos funcionários cadastrados.
Entrada:
- funcionário cadastrado.
Saída esperada:
- “Entrada autorizada.”
- ou “Entrada não autorizada.”
Algoritmo
Algoritmo "Estacionamento"
Var
cadastrado : Logico
Inicio
Escreva("Funcionário cadastrado? (V/F): ")
Leia(cadastrado)
Se cadastrado Então
Escreva("Entrada autorizada.")
Senão
Escreva("Entrada não autorizada.")
FimSe
FimAlgoritmo
Erros comuns
Ao começar a utilizar estruturas de decisão, alguns erros aparecem com frequência.
1. Esquecer o FimSe
Toda estrutura iniciada com Se deve ser encerrada com FimSe.
2. Esquecer a condição
Incorreto:
Se Então
Sempre deve existir uma condição.
3. Colocar instruções fora do bloco
Observe a indentação.
Ela facilita a leitura do algoritmo e deixa claro quais instruções pertencem ao bloco do Se ou do Senão.
4. Escrever condições desnecessárias
Em vez de:
Se idade >= 18 = verdadeiro
Escreva apenas:
Se idade >= 18
A condição já produz um valor lógico.
Resumo desta parte
Nesta aula aprendemos que:
- uma condição produz Verdadeiro ou Falso;
- a estrutura Se…Então executa um bloco apenas quando a condição é verdadeira;
- a estrutura Se…Então…Senão permite que o algoritmo escolha entre dois caminhos;
- as decisões tornam os algoritmos capazes de responder a diferentes situações.
Agora os algoritmos deixaram de executar sempre a mesma sequência de instruções. Eles passaram a tomar decisões, característica presente em praticamente todos os programas de computador.
Na Parte 4, avançaremos para problemas mais complexos utilizando estruturas de decisão aninhadas, decisões com múltiplas alternativas e exercícios integradores, consolidando todo o conteúdo da Aula 04.
AULA 04 — Estruturas de Decisão: Fazendo Escolhas nos Algoritmos
Parte 4 – Consolidando as Estruturas de Decisão
Tema da aula: Resolvendo problemas utilizando estruturas de decisão.
Objetivos desta parte
Ao final desta parte você será capaz de:
- construir algoritmos utilizando decisões aninhadas;
- analisar diferentes soluções para um mesmo problema;
- validar algoritmos utilizando teste de mesa;
- identificar erros lógicos em estruturas condicionais;
- aplicar corretamente as estruturas Se…Então e Se…Então…Senão em problemas reais.
Retomando a aula
Ao longo desta aula aprendemos que um algoritmo pode:
- comparar valores;
- combinar condições utilizando operadores lógicos;
- escolher entre diferentes caminhos.
Agora chegou o momento de utilizar esses conhecimentos para resolver problemas um pouco mais elaborados.
Situação-Problema
Imagine um sistema escolar.
Ao final do semestre, cada estudante poderá estar em uma das seguintes situações:
- aprovado;
- recuperação;
- reprovado.
Observe.
| Média | Situação |
| 8,5 | Aprovado |
| 6,2 | Recuperação |
| 3,8 | Reprovado |
Perceba que agora existem três resultados possíveis.
Como o algoritmo poderá decidir entre essas três situações?
Quando uma decisão depende de outra
Em alguns problemas, uma única decisão não é suficiente.
Primeiro verificamos uma condição.
Se ela não for satisfeita, verificamos outra.
Esse tipo de construção recebe o nome de decisão aninhada.
Observe a ideia.

Observe que a segunda decisão somente é analisada quando a primeira condição é falsa.
Estruturas de decisão aninhadas
Uma decisão pode estar dentro de outra decisão.
Em Portugol, isso pode ser representado da seguinte forma.
Se condição1 Então
instruções
Senão
Se condição2 Então
outras instruções
Senão
novas instruções
FimSe
FimSe
Embora existam outras maneiras de representar esse tipo de decisão em linguagens de programação, essa estrutura é bastante clara para quem está iniciando.
Exemplo Resolvido
Uma escola adota o seguinte critério.
- Média maior ou igual a 7 → aprovado.
- Média maior ou igual a 5 e menor que 7 → recuperação.
- Média menor que 5 → reprovado.
Algoritmo
Algoritmo "Resultado_Final"
Var
media : Real
Inicio
Escreva("Digite a média: ")
Leia(media)
Se media >= 7 Então
Escreva("Aluno aprovado.")
Senão
Se media >= 5 Então
Escreva("Aluno em recuperação.")
Senão
Escreva("Aluno reprovado.")
FimSe
FimSe
FimAlgoritmo
Teste de Mesa
Caso 1
Entrada
media = 8,2
Primeira condição
media >= 7
Resultado
Verdadeiro
Mensagem
Aluno aprovado.
Caso 2
Entrada
media = 6,0
Primeira condição
media >= 7
Resultado
Falso
Segunda condição
media >= 5
Resultado
Verdadeiro
Mensagem
Aluno em recuperação.
Caso 3
Entrada
media = 3,5
Primeira condição
media >= 7
Resultado
Falso
Segunda condição
media >= 5
Resultado
Falso
Mensagem
Aluno reprovado.
Estudo de Caso
Cálculo de desconto
Uma loja concede desconto conforme o valor da compra.
| Valor da compra | Desconto |
|---|---|
| Até R$ 100,00 | Sem desconto |
| Acima de R$ 100,00 e até R$ 500,00 | 10% |
| Acima de R$ 500,00 | 20% |
Construa um algoritmo que informe o percentual de desconto aplicado.
Solução
Algoritmo "Desconto"
Var
valor : Real
Inicio
Escreva("Digite o valor da compra: ")
Leia(valor)
Se valor > 500 Então
Escreva("Desconto de 20%.")
Senão
Se valor > 100 Então
Escreva("Desconto de 10%.")
Senão
Escreva("Sem desconto.")
FimSe
FimSe
FimAlgoritmo
Boas práticas
Ao construir estruturas de decisão, procure seguir algumas recomendações.
- Escreva condições simples e objetivas.
- Evite repetir a mesma condição várias vezes.
- Utilize indentação para destacar os blocos de decisão.
- Sempre realize um teste de mesa antes de considerar o algoritmo concluído.
- Escolha nomes significativos para as variáveis.
Essas práticas tornam os algoritmos mais fáceis de compreender e manter.
Erros comuns
1. Condições sobrepostas
Observe.
Se media >= 5 Então
...
Senão
Se media >= 7 Então
...
Esse algoritmo nunca executará a segunda condição, pois toda média maior ou igual a 7 também é maior ou igual a 5.
A ordem das condições é importante.
2. Esquecer um caso
Problema.
Se idade >= 18 Então
Escreva("Maior de idade.")
FimSe
O algoritmo informa corretamente quando a pessoa é maior de idade.
Mas o que acontece quando ela é menor?
Nenhuma mensagem será exibida.
Sempre verifique se todos os casos relevantes foram contemplados.
3. Aninhar decisões desnecessariamente
Nem todo problema exige várias decisões.
Se existem apenas duas possibilidades, utilize apenas um Se…Então…Senão.
Evite aumentar a complexidade sem necessidade.
Exercícios Propostos
Exercício 1
Desenvolva um algoritmo que leia a idade de uma pessoa.
Informe:
- “Criança”, se possuir menos de 12 anos.
- “Adolescente”, se possuir entre 12 e 17 anos.
- “Adulto”, caso contrário.
Exercício 2
Uma empresa concede bônus conforme o tempo de serviço.
- Menos de 2 anos → sem bônus.
- Entre 2 e 5 anos → bônus de 5%.
- Mais de 5 anos → bônus de 10%.
Desenvolva o algoritmo correspondente.
Exercício 3
Leia o preço de um produto.
Informe:
- “Produto econômico”, se custar até R$ 50,00.
- “Produto intermediário”, se custar acima de R$ 50,00 e até R$ 200,00.
- “Produto premium”, caso contrário.
Exercício 4
Um cinema classifica seus espectadores conforme a idade.
- Menor de 12 anos.
- Entre 12 e 59 anos.
- 60 anos ou mais.
Desenvolva o algoritmo que informe a classificação.
Desafio
Uma empresa calcula o valor do frete conforme a distância.
| Distância | Frete |
| Até 50 km | R$ 20,00 |
| De 51 km até 200 km | R$ 35,00 |
| Acima de 200 km | R$ 50,00 |
Desenvolva um algoritmo que leia a distância e informe o valor do frete.
Depois, valide sua solução utilizando pelo menos três testes de mesa.
Resumo da Aula 04
Nesta aula aprendemos que:
- nem todos os algoritmos executam sempre as mesmas instruções;
- decisões são tomadas a partir da avaliação de condições;
- condições produzem apenas dois resultados possíveis: Verdadeiro ou Falso;
- operadores relacionais permitem comparar valores;
- operadores lógicos permitem combinar condições;
- a estrutura Se…Então executa um bloco quando a condição é verdadeira;
- a estrutura Se…Então…Senão permite escolher entre dois caminhos;
- decisões podem ser aninhadas para resolver problemas mais complexos;
- o teste de mesa é uma ferramenta essencial para verificar se o algoritmo está correto.
Mapa Conceitual da Aula

Preparando a próxima aula
Até este momento, os algoritmos que construímos executavam suas instruções apenas uma vez.
Entretanto, muitos problemas exigem que uma mesma sequência de instruções seja executada repetidas vezes.
Na próxima aula estudaremos as estruturas de repetição, aprendendo como fazer um algoritmo repetir ações de forma controlada, dando início ao estudo dos laços de repetição. Esse será um novo passo na evolução da disciplina, permitindo resolver problemas que seriam inviáveis utilizando apenas estruturas de decisão.
Fim da aula 04
