/**
O método main() classe CalculaMediaUsandoTeclado recebe como entrada as
quatro notas de avaliacoes de rendimento de um aluno da SC,
e produz como saída a indicação de situação final do aluno:
"Aprovado com media final >=7 " ou
“Reprovado com media final < 7”.
A entrada de dados é feita através do teclado.
Para usar o programa execute, a partir da linha de comando:
> java CalculaMediaUsandoTeclado
As notas do aluno são informadas via teclado e o resultado é
mostrado no console
*/
class CalculaMediaUsandoTeclado {
// O método main inicia o programa.
public static void main(String[] args) {
// São necessárias quatro notas para calcular a média do aluno
float n1, n2, n3, n4;
// As notas são lidas a partir do teclado,
// no formato de strings, e convertidas para float através
// do método Float.parseFloat(String)
IO.println("Nota da primeira Unidade : ");
n1 = IO.readFloat(); // o primeiro argumento é a primeira nota
IO.println("Nota da segunda Unidade : ");
n2 = IO.readFloat(); // o segundo argumento é a segunda nota
IO.println("Nota da prova Final : ");
n3 = IO.readFloat(); // o terceiro argumento é a da prova final
// a média parcial é baseada no calculo da média ponderada
// das duas primeiras notas
float mediaParcial = ((n1*1)+(n2*1))/2;
// a média final depende da média parcial
float mediaFinal;
// se a média parcial for menor que 4 o aluno é reprovado
if (mediaParcial < 4) {
mediaFinal = mediaParcial;
System.out.println("Reprovado");
}
// se a média parcial for entre 4 e 7 o aluno depende da 4a nota
else if (mediaParcial < 7) {
// a media final é baseada na média aritmética entre a parcial
// e a quarta nota
System.out.print("Teve que fazer a prova Final !!");
mediaFinal = n3;
// se a média final for menor que 5 o aluno é reprovado
if (mediaFinal < 7) {
System.out.println("Reprovado");
}
// se a media final for superior a 7 o aluno é aprovado
else {
System.out.println("Aprovado");
}
}
// se a media parcial for maior ou igual a 7 o aluno é aprovado
else { // mediaParcial >= 7
mediaFinal = mediaParcial;
System.out.println("Aprovado");
}
// A media final do aluno é impressa
System.out.print(" com media final = ["+mediaFinal+"]");
// e usamos um método simples de arredondamento para obter a nota
// com precisao de uma casa decimal
float mediaArredondada = (float)((int)((mediaFinal+0.05)*10))/10;
System.out.println(" arredondada para ["+mediaArredondada+"]");
// O programa tem sua execução explicitamente encerrada
System.exit(0);
}
}