VisuALG #5 – Desvio condicional composto (SE… ENTÃO… SENÃO… FIMSE)

Publicado: maio 18, 2014 em Introdução à Ciência da Computação
Tags:, ,

VisuALG

SE… ENTÃO… SENÃO… FIMSE

O desvio condicional composto (SE… ENTÃO… SENÃO… FIMSE) funciona exatamente como o desvio condicional simples (SE… ENTÃO… FIMSE), com apenas uma diferença. No desvio condicional simples, somente podemos executar comandos SE a CONDIÇÃO for VERDADEIRA.

No desvio condicional composto, os comandos sempre serão executados independente da CONDIÇÃO, ou seja, SE a CONDIÇÃO for VERDADEIRA os COMANDOS DA CONDIÇÃO VERDADEIRA serão executados, SENÃO (SE a CONDIÇÃO for FALSA) os COMANDOS DA CONDIÇÃO FALSA serão executados.

Sintaxe:

se <condição> entao

   <comandos da condição verdadeira>

senao

   <comandos da condição falsa>

fimse

Para facilitar o entendimento, vamos pensar naquela situação do cartão de crédito que vimos no post anterior:

se <sua esposa pegar seu cartão de crédito> entao

   <compras, compras, compras, compras...>

senao

   <fica na vontade>

fimse

Entendeu né? Vamos ao exemplo!

algoritmo "Desvio condicional composto"
// Função: Demonstrar a utilização do desvio condicional composto.
// Autor: Andrey Smith
// Data: 18/05/2014
// Seção de Declarações

var
nome: caractere
nota1, nota2, media: real

inicio
// Seção de Comandos

escreva ("Informe o nome do aluno: ")
leia (nome)
escreva ("Informe a nota da P1: ")
leia (nota1)
escreva ("Informe a nota da P2: ")
leia (nota2)

media <- (nota1 + nota2) / 2

se ( media >= 7) entao
   escreval ("A média do aluno ", nome, " é:", media)
senao
   escreval ("O aluno ", nome, " não alcançou a média.")
fimse

fimalgoritmo

Resultado do algoritmo com a CONDIÇÃO VERDADEIRA:

Resultado_desvio_condicional_composto_01

Resultado do algoritmo com a CONDIÇÃO FALSA:

Resultado_desvio_condicional_composto_01.1

Conclusão

O desvio de concional composto amplia as possibilidades do desvio condicional simples que vimos no post anterior. No próximo post veremos desvio condicional encadeado (SE… ENTÃO… SENÃO… SE… ENTÃO… SENÃO) que ampliara ainda mais nosso poder de fogo nos algoritmos. =)

Até o próximo!

:wq!
Andrey Smith

Anúncios
comentários
  1. ANTHTH disse:

    +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+ +_+

    Curtir

  2. Boa tarte Andrey, estou tentando fazer um exemplo simples apenas com as respostas S/N mas não estou conseguindo. Poderia me ajudar por favor?

    Aqui o código que estou usando:
    ———————————————————–
    algoritmo “Andança”
    var
    Resp: Logico

    inicio
    Escreva(“Posso andar? [S/N] “)
    Leia(Resp)
    Se (Resp) = Verdadeiro entao
    Escreva(“Andei. “)
    senao
    Escreva(“Vou ficar aqui. “)
    FimSe
    fimalgoritmo

    —————————————————————-

    Curtir

  3. R.Caroliny disse:

    Josimar, se você escolheu a variável (Resp: logico) você terá que pedir pro usuário digitar “verdadeiro ou falso”.

    Como você pediu pra ele digitar [s/n], você terá que colocar a variável (Resp) como caracter e no se Resp = “s”.

    Dessa forma:

    algoritmo “andança”
    var
    Resp: caracter

    inicio
    Escreva(“Posso andar? [S/N] “)
    Leia(Resp)
    Se (Resp = “s”) entao
    Escreva(“Andei. “)
    senao
    Escreva(“Vou ficar aqui. “)
    FimSe
    fimalgoritmo

    Espero ter ajudado!
    Até mais.

    Curtir

  4. Funcionou, nas aulas que eu assisti mostravam o exemplo da sintaxe apenas com variáveis reais ou inteiras.

    Muito obrigado!

    Curtir

  5. tony victor rodrigues barbosa disse:

    boa noite, andrey
    estou tentando fazer um algoritimo simples entretanto a mensagem não esta saindo como esperado.
    algoritimo “aprovado/recuperacao”
    nome: caracter
    idade, nota1, nota2, media1, nota3, nota4, media2, mediat: real
    escreval (“qual e o seu nome: “)
    leia (nome)
    escreval (nome,”:” , ” qual a sua idade: “)
    leia (idade)
    escreval (” qual foi a sua nota na primeira prova: “)
    leia (nota1)
    escreval (” qual foi a sua nota na segunda prova: “)
    leia (nota2)
    media1 <- (nota1+nota2)/2
    escreval (" sua media no primeiro simestre foi:", media1)
    escreval (" qual foi a sua nota na terceira prova: ")
    leia (nota3)
    escreval (" qual foi a sua nota na quarta prova: ")
    leia (nota4)
    media2 <- (nota3+nota4) / 2
    escreval (" sua media no segundo simestre foi:", media2)

    mediat <- (media1+media2)/2
    se mediat <= 70 entao
    escreva (nome,":", " voce foi aprovado ", mediat)
    senao
    escreva (nome,":", "voce esta de recuperacao ", mediat)
    fimse
    Fimalgoritmo

    Curtir

  6. Junior Souza disse:

    Tony Victor, tente organizar mais o seu código para que as outras pessoas entendam, principalmente quando estiver pedindo ajudar.
    Visualmente o seu código está correto, mas irei enviar o código que modifiquei aqui e funcionou 100%.
    Os erros que achei foi nas aspas, onde a função escreva ficaria incompatível e resultando em um conflito, note em ‘qual sua idade’, as aspas que caracteriza em uma string está totalmente modificado e incomum. E também a utilização de “:” em posições que não ficaria compreensível. Enfim, analise o código que modifiquei do seu e compare, assim terá uma noção maior de onde foi que errou ou não.

    algoritmo “aprovado/recuperacao”
    var
    // Declaração das variáveis
    nome: caractere
    idade, nota1, nota2, media1, nota3, nota4, media2, mediat: real
    inicio
    // Apresentação do usuário
    escreval (“Digite seu nome: “)
    leia (nome)
    escreval (nome, “, informe sua idade: “)
    leia (idade)
    // Início das perguntas das provas do primeiro semestre para resultar a média 1
    escreval (“Qual foi a sua nota na primeira prova? “)
    leia (nota1)
    escreval (“Qual foi a sua nota na segunda prova? “)
    leia (nota2)
    media1 <- (nota1+nota2)/2
    escreval ("Sua média no primeiro semestre foi:", media1)
    // Início das perguntas das provas do segundo semestre para resultar a média 2
    escreval ("Qual foi a sua nota na terceira prova? ")
    leia (nota3)
    escreval ("Qual foi a sua nota na quarta prova? ")
    leia (nota4)
    media2 <- (nota3+nota4) / 2
    escreval ("Sua média no segundo semestre foi:", media2)
    // Irá resultar a média total, isto é, do primeiro e segundo semestre e irá informar se o aluno ficará ou não de recuperação
    mediat = 70 entao
    escreva (nome, “, você foi aprovado! Sua média final foi de: “, mediat)
    senao
    escreva (nome, “, você está de recuperação! Sua média final foi de: “, mediat)
    fimse
    fimalgoritmo

    Curtir

  7. Junior Souza disse:

    No fim do código, saiu mediat = 70, mas aqui está mediat maior ou igual a 70

    Curtir

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s