Exercício 01: Pelas
regras da uma faculdade, toda disciplina é composta de 3 avaliações obrigatórias.
Se um aluno tem média superior ou igual a 7 (sete) nas três avaliações, ele é
considerado “Aprovado por média.”. Se tiver média inferior a 7 (sete), tem direito
a uma quarta prova, chamada de reposição, que substituiu a menor nota das três
provas anteriores (se a nota da reposição for maior que ela). Após a reposição,
se as três maiores notas formarem uma média igual ou superior a 7 (sete), o
aluno é considerado “Aprovado na reposição.”. Finalmente, apenas se tiver a
média com a reposição inferior a 7 (sete), ele faz uma quinta prova, chamada de
final, em que é considerado “Aprovado na final.” se a soma da média com a
reposição e a nota da prova final for igual ou maior que 12 (doze). Nesse
último caso, caso a soma da média com reposição e prova final for inferior a 12
(doze), o aluno é dito como “Reprovado.”. Faça um programa com um algoritmo que
lê as três notas obrigatórias de uma disciplina e depois, apenas se necessário,
lê as notas da reposição e final. O programa deve dar como saída as frases “Aprovado
por média.”, “Aprovado na reposição”. “Aprovado na final.” Ou “Reprovado.”
respectivamente em cada uma dessas situações conforme a descrição.
import java.util.Scanner;
public class Marshal01{
public static void main(String[] args){
float notas[] = new float[3];
float notareposicao, notafinal, acum, media;
int i, menor;
Scanner leia = new Scanner(System.in);
acum =
0;
for(i=0;i<3;i++){
//Le as 3 notas obrigatorias
do{
System.out.print("Digite
a nota da avaliacao "+(i+1)+":");
notas[i]
= leia.nextFloat();
if((notas[i]>10)
|| (notas[i]<0)){
System.out.println("Digite
uma nota valida (0 a 10)!");
}
}while((notas[i]>10)
|| (notas[i]<0));
acum =
acum + notas[i]; //Soma as notas
}
menor =
0;
for(i=0;i<3;i++){
//Verifica a menor nota
if(notas[i]<notas[menor]){
menor =
i;
}
}
media =
acum/3;
//calcula a media
if(media>=7){
//verifica se passou direto
System.out.println("Aprovado
por media.");
}else{
//senao pede a nota de reposicao
do{
System.out.print("Digite
a nota da avaliacao de reposicao: ");
notareposicao =
leia.nextFloat();
if((notareposicao>10)
|| (notareposicao<0)){
System.out.println("Digite
uma nota valida (0 a 10)!");
}
}while((notareposicao>10)
|| (notareposicao<0));
if(notareposicao>notas[menor]){
//verifica se a
nota de reposicao e maior que as anteriores
notas[menor]
= notareposicao;
acum =
0;
for(i=0;i<3;i++){
//faz a soma das notas com a de reposicao
acum =
acum + notas[i];
}
media =
acum/3;
//calcula a media
}
if(media>=7){
//verifica se passou pela avaliacao de reposicao
System.out.println("Aprovado
por Reposicao.");
}else{
//senao pede a nota final
do{
System.out.print("Digite
a nota da prova final: ");
notafinal = leia.nextFloat();
if((notafinal>10) || (notafinal<0)){
System.out.println("Digite
uma nota valida (0 a 10)");
}
}while((notafinal>10)
|| (notafinal<0));
if((media+notafinal)>=12){
//se a soma da media mais a notafinal
for maior que 12 entao e aprovado
System.out.println("Aprovado
na Final.");
}else{
//senao esta reprovado
System.out.println("Reprovado.");
}
}
}
}
}
Nenhum comentário:
Postar um comentário