É 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.
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 3. Seta vermelha indica onde devemos inserir o comando de decisão. |
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. |
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. |
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. |
Ainda ta com duvida, curta nossa pagina no facebook e poste sua duvida lá....
Nenhum comentário:
Postar um comentário