Módulo 8 - Decisões, o SE... ENTÃO... SENÃO

A bifurcação SE: quando o programa escolhe um caminho

8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 02/07/2026

Velocidade

O que você vai aprender

  • Entender o que o comando SE faz: executar um bloco só quando a condição vale V.
  • Ler e escrever a estrutura se... então... fim em pseudocódigo.
  • Prever o que acontece quando a condição vale F e não existe SENÃO.
  • Ligar as comparações e os operadores lógicos dos módulos 6 e 7 à primeira decisão de verdade.

A pergunta que divide o caminho

Todos os seus algoritmos até agora eram uma avenida sem cruzamento: a máquina executava a primeira linha, depois a segunda, depois a terceira, sem escolher nada. Só que a vida não funciona assim, e os programas úteis também não. O caixa eletrônico só entrega o dinheiro SE o saldo for suficiente. A catraca do metrô só gira SE o cartão tiver crédito. O aplicativo só envia o alerta SE a chuva estiver prevista. Esse comportamento tem nome e forma: é o comando SE, a primeira estrutura de decisão do curso.

E aqui as peças dos módulos anteriores se encaixam com um clique. No módulo 6 você aprendeu comparações, que produzem V ou F. No módulo 7, os operadores E, OU e NÃO, que combinam esses valores, com direito a tabela-verdade. Faltava a pergunta óbvia: V ou F para quê? A resposta é o SE. A condição do SE é exatamente uma dessas expressões, e o valor final dela decide o rumo do programa. Comparação e operador lógico são o motor; o SE é o volante.

Fluxograma de uma bifurcação SE: um losango com a pergunta idade maior ou igual a 18 tem duas saídas. A saída V leva a uma caixa com a instrução escreva entrada liberada; a saída F desvia direto para o ponto de encontro dos dois caminhos, onde o programa continua.
A bifurcação do SE: com V, o bloco executa; com F, o programa pula direto para depois do fim.

Anatomia do SE em pseudocódigo

Em pseudocódigo, o SE tem três partes fixas: a palavra se seguida da condição, a palavra então marcando o início do bloco e a palavra fim marcando onde o bloco termina. Tudo o que fica entre então e fim só executa com condição V. Tudo o que fica DEPOIS do fim executa sempre, porque já está fora da decisão. Essa fronteira do fim é o detalhe que mais derruba iniciantes: o SE não encerra o programa, só protege um trecho dele.

leia(saldo)
se saldo >= 50 então
  escreva("Saque liberado")
fim
escreva("Obrigado por usar o caixa")
// com saldo 80, a saída é: Saque liberado / Obrigado por usar o caixa
// com saldo 30, a saída é apenas: Obrigado por usar o caixa

O bloco protegido executa só com V; a última linha executa sempre, porque está fora do SE.

🎮 Jogo da aula

O SE deixa passar?

Leia o pseudocódigo com atenção à condição e preveja o que aparece na tela.

idade <- 15
se idade >= 18 então
  escreva("Entrada liberada")
fim
escreva("Fim do atendimento")

Repare no que o jogo cobra: não basta avaliar a condição, é preciso saber ONDE cada instrução mora. A pergunta de ouro diante de qualquer SE é dupla: essa condição vale V ou F com estes dados? E esta linha está dentro ou fora do bloco? Programadores experientes leem um SE como quem lê um mapa de pedágio: primeiro acham a cancela (a condição), depois conferem quais estradas ficam atrás dela e quais são livres.

Toda condição precisa valer V ou F

A condição do SE aceita qualquer expressão que produza um valor lógico: uma comparação simples (nota >= 7), uma combinação com E (idade >= 18 E temIngresso = “sim”), uma negação com NÃO. O que ela não aceita é ambiguidade. “Se o cliente for bom” não é condição; “se comprasTotal >= 10” é. Sempre que a frase do problema estiver vaga, o seu trabalho de lógica é traduzi-la para uma pergunta de V ou F antes de escrever o SE. Esse hábito vem direto do módulo 1: o computador é literal.

Um detalhe que economiza confusão: o SE avalia a condição UMA vez, no momento em que a execução passa por ele, usando os valores que as variáveis têm naquele instante. Se o saldo mudar três linhas depois, o SE lá de cima não “percebe” nada, porque já ficou para trás. Decisão em algoritmo é fotografia, não filme. Quando você precisar reavaliar uma condição várias vezes, a ferramenta certa será o laço ENQUANTO do módulo 9, que é justamente um SE que insiste.

Teste rápido

Em um comando SE, a condição “saldo >= valor” deu F. O que acontece?

Perguntas frequentes

O que é o comando SE na lógica de programação?
É a estrutura de decisão mais básica: avalia uma condição de V ou F e executa um bloco de instruções somente quando o resultado é V. Com F, o bloco é pulado e o programa continua depois do fim. Nas linguagens reais ele aparece como if.
O que pode ir na condição de um SE?
Qualquer expressão que produza um valor lógico: comparações (idade >= 18, nome = “Ana”) e combinações com os operadores E, OU e NÃO do módulo 7. O que não pode é frase vaga: a condição precisa ter resposta única, V ou F.
O programa para quando a condição do SE dá F?
Não. Esse é o erro mais comum de iniciante. Com F, apenas o bloco entre então e fim deixa de executar; tudo o que vem depois do fim roda normalmente. O SE protege um trecho do programa, não o programa inteiro.
Posso colocar mais de uma instrução dentro do SE?
Sim, quantas precisar. Tudo o que estiver entre então e fim pertence ao bloco e executa em sequência quando a condição vale V. É por isso que a palavra fim importa tanto: ela marca exatamente onde a proteção do SE termina.
Qual a diferença entre o SE e as comparações do módulo 6?
A comparação produz o valor (V ou F); o SE consome esse valor para escolher um caminho. São camadas diferentes do mesmo mecanismo: nota >= 7 sozinha é só uma pergunta respondida, e o SE é quem transforma a resposta em ação.
O SE reavalia a condição se a variável mudar depois?
Não. A condição é avaliada uma única vez, no instante em que a execução passa pelo SE, com os valores daquele momento. Mudanças posteriores nas variáveis não têm efeito retroativo. Para reavaliar uma condição repetidas vezes existe o laço ENQUANTO, no módulo 9.

Fontes

Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.