Estruturas de controle: Comando de Decisão - Fluxograma

É conhecido que em programação estruturada (quer conhecer mais sobre o assunto clique aqui) o programador deve estabelecer uma disciplina no desenvolvimento do algoritmo onde um sequencia lógica para solução do problema é definida e o programa executa uma instrução após a outra na sequencia programada. A figura 1 abaixo apresenta um exemplo sobre o assunto:
Figura 1. Fluxograma de programa para calcular média.


1ª Recebe dois dados via teclado e armazena nas variáveis de identificadores N1 e N2

Após receber os dados e armazenar:

2ª Calcula a media aritmética com os conteúdos das variáveis N1 e N2 e armazena o resultado na variável de identificador Media

Após realizar a operação aritmética:

3ª Exibe o conteúdo da variável Media no monitor.





No fluxograma 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.
O comando de decisão é representado em fluxograma pelo losango e as respectivas saídas verdadeira e falsa indicando conforme mostra a figura 2.
Figura 2. Losango - figura geométrica que representa o comando de decisão em fluxograma.
Conforme citado, dependendo do resultado da condição, o programa irá escolher o caminho (verdadeiro representado pela letra V ou falso representado pela letra F) que deverá seguir e executar um bloco de instruções. 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 caso o fluxograma ficará conforme indicado na figura 4.
Figura 4. Fluxograma de programa que irá calcular a média e mostra a mensagem aluno aprovado ou reprovado em função do valor da média.
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, ou seja, um mesmo programa pode ser feito de maneiras diferentes. Na figura 5 é mostrado o mesmo fluxograma da média usando um outro operador relacional.

Figura 5. Fluxograma de programa que irá calcular a média e mostra a mensagem aluno aprovado ou reprovado em função do valor da média mudando a condição do comando de decisão.
No que a condição foi modificada, agora se a condição for verdadeira a mensagem que deve ser exibida é "Aluno Aprovado".

Um duvida comum das pessoas que estudam essa estrutura pela primeira vez é sempre: porque uso essa "bolinha" no final??
Essa bolinha 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 a figura 6 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 7.
Figura7. Desvio condicional simples.
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