Bóson Treinamentos em Ciência e Tecnologia

Lógica de Programação – Desvio Condicional Aninhado (SE…ENTÃO…SENÃO…SE) – 12

Desvio Condicional Aninhado - Se Então Senão Se

Desvio Condicional Aninhado (SE…ENTÃO…SENÃO…SE)

Existem situações em um algoritmo nas quais é necessário verificar condições de teste sucessivas, onde uma ação será executada caso um conjunto anterior de ações seja satisfeito. Podemos usar para resolver esse tipo de problemas uma estrutura denominada Desvio Condicional Aninhado, que nada mais é do que o encadeamento de estruturas de decisão compostas em um algoritmo. Também chamamos a esse tipo de estrutura de Desvio Condicional Encadeado, por este motivo.

Sintaxe:

se (condição 1) então
instruções caso condição 1 retorne verdadeiro
senão
   se (condição 2) então
instruções caso condição 2 retorne verdadeiro
   senão
instruções caso condição 2 retorne falso
   fimse
fimse

 

O fluxograma a seguir ilustra o processo de operação do condicional encadeado:

 

Exemplo: Vamos continuar a incrementar o algoritmo criado na lição sobre condicional composto. Desta vez, o programa deve solicitar duas notas de uma aluno, e calcular a média dessas notas. Caso a média calculada seja maior ou igual a 7, o programa deve emitir a mensagem “Aprovado”; se a média for menor do que 5, a mensagem a ser exibida é “Reprovado”. Porém, se a média do aluno ficar entre 5 e 7, deve ser exibida a mensagem “Recuperação”. Em todos os casos deve ser ecoada na tela a média calculada.

Veja abaixo um fluxograma representando nosso algoritmo:

E logo a seguir, o algoritmo implementado em português estruturado (no VisualG), usando o condicional aninhado:

Var
N1, N2 : inteiro
MEDIA : real

inicio
    escreval ("Entre com a primeira nota:")
    leia (N1)
    escreval ("Entre com a segunda nota:")
    leia (N2)

    MEDIA <- (N1 + N2) / 2
    se (media >= 7) entao
      escreval ("Aprovado")
    senao
         se (media >= 5) entao
            escreval ("Recuperação")
         senao
           escreval ("Reprovado")
         fimse
    fimse
    escreva ("Sua média é ", MEDIA)
fimalgoritmo
 
Note que o encadeamento pode ser feito em múltiplos níveis, bastando para isso acrescentar mais blocos se .. senão à estrutura. Isso pode tornar o código um tanto quanto complexo, e há outras estruturas em lógica que podem simplificar esse tipo de operação, como o comando Caso.
 
Assista a seguir a um vídeo de nosso canal do YouTube mostrando como usar o desvio condicional encadeado:

 

Anterior: Desvio Condicional Composto – SE .. ENTÃO .. SENÃO

Próximo: Estrutura de Repetição ENQUANTO

 

Sair da versão mobile