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:
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.
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! ");
}
}
}