Voltar Lista de Tópicos

Editar | Versões | Fórum de Discussão

Prazos para Envio


Estrutura Condicional Múltipla

Introdução

Para fazer este tópico, você deve ter concluído os tópicos Algoritmos e Programas Sequenciais e Estrutura Condicional Simples. Se você já concluiu ester tópicos pode seguir adiante =D.

Até este tópico aprendemos como fazer um desvio no nosso programa e executar comandos somente se uma determinada condição acontecer. Para isso, utilizamos o comando se(condição) entao ... fimse que avalia uma condição e executa comandos somente se ela for verdadeira. Neste ponto, aprenderemos a utilizar a cláusula senao (senão) juntamente com o se para executarmos comandos quando a condição for falsa. Chamamos isso de estrutura condicional múltipla. Faça o tutorial atentamente e divirta-se ;-). Vamos fazer uma pequena alteração no exemplo do tópico anterior Estrutura Condicional Simples para estudarmos esse ponto. Veja abaixo.

Problema

Você precisa fazer um programa que leia três valores de temperatura obtidos do sensor de uma caldeira. O programa deve calcular a média das 3 temperaturas e, ao final, escrever esse valor. Se a temperatura estiver acima de 200º C, o programa deve informar a seguinte mensagem na tela: "Temperatura média em nível crítico, informar ao responsáve!l". Caso contrário, a mensagem que deverá ser mostrada é a seguinte: "Temperatura em nível normal!".

Repare na parte vermelha adicionada. No tópico anterior, se a temperatura média estivesse acima de 200 ºC nosso programa mostrava a mensagem "Temperatura média em nível crítico, informar ao responsáve!l" na tela. Porém, se a temperatura fosse menor ou igual a 200 ºC o programa encerrava. Agora, devemos alterar o programa para mostrar a mensagem "Temperatura em nível normal!" na tela. Vamos a solução.

Resolução

Vamos fazer uma alteração na nossa Descrição Narrativa para acomodar a modificação proposta. Observe a parte em vermelho adicionada a descrição narrativa para acomodar a alteração

1. Entrada

Como o problema exige que o usuário informe três temperaturas, essas são as informações de entrada.

Resposta: três temperaturas identificadas por t1, t2 e t3.

2. Processamento

O processamento é praticamente o mesmo do tópico anterior.

Resposta: o processamento consiste em aplicar a fórmula da média às temperaturas t1, t2 e t3.

3. Saída

A saída consiste em informar o valor da média calculado. Além disso, caso o valor da média esteja acima de 200ºC, uma mensagem de alerta deve ser mostrada na tela.

Resposta:

    1º saída: o valor da média;

    2º saída: a mensagem "Temperatura média em estado crítico, informar ao responsáve!l"  se a média estiver acima de 200ºC.

    3º saída: a mensagem "Temperatura em nível normal!"  se a média for menor ou igual à 200 ºC (caso contrário da 2º saída).

Repare que adicionamos uma terceira saída que só será emitida se a média não estiver acima de 200ºC, que é justamente o caso contrário descrito no enunciado do problema.

Fluxograma

Além da descrição narrativa, vamos também alterar nosso fluxograma para emitir a mensagem de nível normal. Veja abaixo a alteração em destaque.

Repare que adicionamos uma caixa de saída com a mensagem de nível normal. Essa caixa só será executada se a condição tmedia > 200 for avaliada como falsa, ou seja, se a média calculada for menor ou igual à 200 ºC. Agora só falta alteramos o nosso código em linguagem algoritmica e testarmos.

Escrita do Programa

Atualmente, o nosso código imprime a mensagem de alerta de temperatura em nível crítico somente se a média for maior que 200 ºC. Porém, caso a temperatura esteja em nível normal (menor ou igual à 200ºC), nenhuma mensagem é emitida pelo programa. Vamos alterar o nosso código para imprimir a mensagem de nível normal na tela somente quando a média não for maior que 200ºC. Veja a como traduzimos a alteração no fluxograma para o código em linguagem algoritmica:

Repare que a  condição que colocamos no losango é a mesma que colocamos na cláusula se-entao. Todos os comandos alcançados do lado "Verdadeiro" no fluxograma devem escritos dentro do bloco se, ou seja, entre o se e o senao. No nosso caso, temos apenas um comando de saída que emite o alerta de nível crítico na tela. Entretanto, todos os comandos alcançados do lado "Falso" no fluxograma são colocados dentro do bloco do senao, ou seja, entre o senao e o fimse. Como só temos o comando de saída que emite a mensagem de temperatura normal, apenas adicionamos um comando escreval() no bloco do senao. Portanto, esse comando só será executado se a condição tmedia > 200 for falsa, ou seja, se a temperatura média não for maior do que 200ºC. Essa é justamente a condição que o enunciado do problema estabeleceu para que o programa emita a mensagem de temperatura em nível normal! Veja abaixo o código completo da solução deste problema.

Testando o Código

Ao testar um programa, você deve se certificar de que todas as situações que podem acontecer estão sendo testadas, chamamos isso de casos de teste. Para testarmos adequadamente este código, precisamos simular três casos de teste. O primeiro caso ocorre quando a temperatura média é maior que 200ºC, onde, o programa deve emitir a mensagem de alerta de nível crítico. O segundo caso ocorre quando a temperatura média é menor do que 200ºC, onde, o programa deve emitir a mensagem de nível normal. O terceiro e último caso ocorre quando a temperatura é exatamente igual a 200ºC. Neste caso, o programa também deve emitir mensagem de temperatura em nível normal. Utilize os valores abaixo para as três temperaturas em cada caso:

1º Caso:
    Valores para t1, t2 e t3: 150, 200 e 600.

    Mensagem esperada: "Temperatura média em estado crítico, informar ao responsável!"

2º Caso:

    Valores para t1, t2 e t3: 100, 50 e 200

    Mensagem esperada: "Temperatura em nível normal!"

3º Caso:

    Valores para t1, t2 e t3: 200, 200 e 200

    Mensagem esperada: "Temperatura em nível normal!"

Após finalizar o teste, envie o seu código como resposta da questão 1.

Resumo para Guardar

Nese tópico aprendemos como utilizar uma estrutura condicional múltipla. Esta estrutura permite executar um bloco de comandos quando uma condição é verdadeira e outro bloco de comandos quando a condição é falsa. Para isso adicionamos uma cláusula senao à nossa estrutura condicional, que permite a execução de comandos se a condição falhar. Veja a estrutura geral abaixo

No nosso exemplo, utilizamos o operador "maior que" >. Veja abaixo a lista de operadores de comparação, também chamados relacionais, que podemos utilizar para escrevermos as condições.

No próximo tópico aprenderemos como utilizar estruturas condicionais aninhadas para resolver problemas ainda mais legais! Vamos adquirir novas habilidades nos próximos episódios ;-).


Questões

Questão 1

Comentários...

Não há comentários ainda... Seja o primeiro!