Skip to content

Latest commit

 

History

History
85 lines (62 loc) · 2.14 KB

1-tomada_desição.md

File metadata and controls

85 lines (62 loc) · 2.14 KB

Tomada de Decisão

Até o momento já vimos como podemos lidar com a entrada, processamento e a saída de dados. Entretanto, existirão situações em que teremos que programar desvios de execução dentro de um código. Por exemplo, o programa não irá terminar após processar os dados. Pode ser necessário analisar o resultado processado para então se tomar uma decisão dentro do programa, escolhendo por onde o fluxo de dados irá trafegar.

Imaginemos a seguinte situação: um programa que leia duas notas de um aluno, calcule e apresente a sua média e além da média, exiba uma mensagem informando se o aluno foi reprovado ou aprovado seguindo os critérios abaixo:

  • Se a média for menor do que 6 o aluno será reprovado
  • Se a média for maior ou igual a 6 o aluno será aprovado.

Observe que somente uma das duas mensagens será exibida: ou aprovado ou reprovado, sendo impossível que o mesmo aluno receba as duas mensagens. Nesse caso será necessário prever um desvio condicional dentro do programa, também conhecido como tomada de decisão. O fluxo do programa deverá ser desviado de acordo com a situação da média do aluno.

A solução para esse problema em 4 etapas poderá ser assim escrita:

Código em Português Estruturado:

programa NOTAS
var
    n1, n2, m: real
início
    leia (n1)
    leia(n2)

    m <- (n1+n2)/2

    escreva (m)

    se (m<6) então
        escreva (‘Reprovado’)

    senão
        escreva(‘Aprovado’)

    fim_se
fim.

Java:

import java.util.*;

public class SomaNumeros {

    public static void main(String args[]){

        Scanner in = new Scanner(System.in);
        double n1, n2, m;

        System.out.println("Entre com a 1a
        nota");
        n1 = in.nextDouble();

        System.out.println("Entre com a 2a
        nota:");
        n2 = in.nextDouble();

        m = (n1+n2) / 2;

        System.out.println("A média é: "+m);
        
        
        if(m < 6) {
            System.out.println("Reprovado! ");
        }else {
            System.out.println("Aprovado! ");
        }
    }
}