Pesquisar este blog

sábado, 23 de julho de 2016

Marshal 01

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