Estruturas de controle: Comando de Decisão - Pseudocódigo

Em nossa postagem anterior falamos sobre o comando decisão, sua importância e como usa-lo (clique aqui para acessar nossa postagem anterior). Baseado nos mesmos exemplos iremos mostrar como trabalhar com os comandos de decisão. Na figura 1 abaixo temos o exemplo de um fluxograma e o pseudocódigo equivalente de um programa que calcula a média de duas notas digitadas via teclado. 
Figura 1. Fluxograma de programa para calcular média.

Algoritmo MEDIA_2_NOTAS
Var
   N1      : real
   N2      : real
   Media : real

Inicio
  leia N1, N2
  Media=(N1+N2)/2
  escreva Media
Fim


No pseudocódigo acima temos a representação de um programa que irá calcular e exibir a média de duas notas digitadas via teclado. Agora vamos imaginar um programa onde é necessário exibir a mensagem "Aluno aprovado" ou "Aluno reprovado" em função do resultado da média onde todo aluno com média inferior a 6,0 esta reprovado.
Note que é impossível o aluno estar aprovado e reprovado ao mesmo tempo, ou seja, nosso programa deverá "escolher" qual mensagem será exibida. Neste caso será obrigatório o uso de comandos de decisão.

Comando de decisão- São estruturas lógicas condicionais onde uma decisão é tomada baseada numa condição especifica cujo resultado sempre será Verdadeiro ou Falso. Se a condição for verdadeira, pode-se executar uma instrução ou conjunto de instruções. Se a condição não for verdadeira (Falsa), pode-se executar outro conjunto de instruções.

Em pseudocódigo, o comando de decisão é representado pela sequencia de instruções discriminadas abaixo. O equivalente em fluxograma esta representado na figura 2.

Figura 2. fluxograma do comando de decisão.

se (condição) então
 
   instruções se condição for verdadeira

senão

   instruções se condição não for verdadeira

fim_se
 


A primeira linha de instrução é o Se (condição) então onde o programa irá tomar a decisão sobre qual bloco de instruções ele irá executar. Logo abaixo desta primeira instrução, temos todas a instruções que serão executadas pelo programa caso a condição seja verdadeira. Já a instrução senão marca o inicio do bloco de instruções que será executado caso a condição for falsa (senão for verdadeira). O comando de decisão em pseudo código deve ser sempre finalizado com a instrução fim_se. Agora que já conhecemos a estrutura de decisão precisamos definir onde o comando de decisão será inserido no exemplo apresentado na figura 1 para que nosso programa funcione corretamente. Neste caso iremos analisar a média das duas notas para saber se o aluno foi aprovado ou reprovado, logo nosso comando de decisão deverá ser inserido após o calculo da média conforme indicado na figura 3.
Figura 3. Seta vermelha indica onde devemos inserir o comando de decisão.
Definido onde o comando de decisão será inserido no fluxograma, será necessário definir a condição e quais instruções serão executadas caso a condição seja verdadeira ou falsa. Em nosso caso, a condição será a média menor que 6,0 (media < 6,0) logo se a média< 6,0 (verdadeiro) exibiremos a mensagem "Aluno reprovado", se a média não for menor que 6,0(falso) exibiremos a mensagem "Aluno aprovado". Neste o fluxograma (figura 4) e pseudocódigo que ficarão conforme indicado abaixo.
Figura 4. Fluxograma do calculo de média .

Algoritmo MEDIA_2_NOTAS
Var
   N1      : real
   N2      : real
   Media : real

Inicio
  leia N1, N2
  Media=(N1+N2)/2

  se (media <6 ) então

   escreva "aluno Reprovado"

  senão

   escreva "aluno Aprovado"

  fim_se

Fim



Notamos que na condição temos:   media < 6 onde o sinal "<"  é o que chamamos de operador relacional. A tabela I abaixo mostra os operadores relacionais usados nos comandos de decisão.
Tabela I, Operadores relacionais.
Os operadores relacionais podem ser usados de acordo com sua necessidade ou da maneira que o programador considerar mais conveniente, olhe nossa postagem sobre comando de decisão em fluxograma e confira que um mesmo exercício pode ser feito de maneiras diferentes.

Todo comando "se" deve ser finalizado com um  fim_se. O fim_se indica que sua estrutura de decisão foi finalizada e qualquer instrução após o fim do comando de decisão será executada independente se a condição lógica for verdadeira ou falsa. Observe os fluxogramas da figura 5 abaixo e seus respectivos pseudocódigos logo abaixo:
Figura 6. A importância de definir o local exato do o comando de decisão termina.


Notamos que no Caso A a media será exibida após a finalização do comando de decisão, já no Caso B, a media será exibida antes do termino do comando de decisão dentro da condição verdadeira desse controle. Em termos mais práticos, no Caso A a média será exibida independente se o aluno foi aprovado ou reprovado, já no Caso B a média só será exibida se o aluno for reprovado.
Alguns casos podemos ter um comando de decisão onde a condição falsa é descartada, nestes casos temos o chamado desvio condicional simples e o fluxograma é representado como na figura 6.
Figura 6. Desvio condicional simples.


Algoritmo MEDIA_2_NOTAS
Var
   N1      : real
   N2      : real
   Media : real

Inicio
  leia N1, N2
  Media=(N1+N2)/2

  se (media <6 ) então

   escreva "aluno Reprovado"

 fim_se

Fim




Neste caso temos somente o comando se e a condição, as instruções que serão executadas caso a condição seja verdadeira e finalizamos o comando de decisão com o fim_se.

Atenção: O comando de decisão com desvio condicional simples sempre deve ter a condição verdadeira da condição apresentada no comando de decisão. Não é usual ter um comando de decisão com instruções somente na saída falsa do comando.

Ainda ta com duvida, curta nossa pagina no facebook e poste sua duvida lá....

Nenhum comentário:

Postar um comentário