quarta-feira, 3 de outubro de 2018

URI PROBLEMA 1040 - Média 3 SOLUÇÃO EM JAVA

URI Online Judge | 1040

Média 3

Adaptado por Neilor Tonin, URI  Brasil
Timelimit: 1
Leia quatro números (N1, N2, N3, N4), cada um deles com uma casa decimal, correspondente às quatro notas de um aluno. Calcule a média com pesos 2, 3, 4 e 1, respectivamente, para cada uma destas notas e mostre esta média acompanhada pela mensagem "Media: ". Se esta média for maior ou igual a 7.0, imprima a mensagem "Aluno aprovado.". Se a média calculada for inferior a 5.0, imprima a mensagem "Aluno reprovado.". Se a média calculada for um valor entre 5.0 e 6.9, inclusive estas, o programa deve imprimir a mensagem "Aluno em exame.".
No caso do aluno estar em exame, leia um valor correspondente à nota do exame obtida pelo aluno. Imprima então a mensagem "Nota do exame: " acompanhada pela nota digitada. Recalcule a média (some a pontuação do exame com a média anteriormente calculada e divida por 2). e imprima a mensagem "Aluno aprovado." (caso a média final seja 5.0 ou mais ) ou "Aluno reprovado.", (caso a média tenha ficado 4.9 ou menos). Para estes dois casos (aprovado ou reprovado após ter pego exame) apresente na última linha uma mensagem "Media final: "seguido da média final para esse aluno.

Entrada

A entrada contém quatro números de ponto flutuante correspendentes as notas dos alunos.

Saída

Todas as respostas devem ser apresentadas com uma casa decimal. As mensagens devem ser impressas conforme a descrição do problema. Não esqueça de imprimir o enter após o final de cada linha, caso contrário obterá "Presentation Error".



import java.io.IOException;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) throws IOException {

        Scanner entrada = new Scanner(System.in);
        double N1 = (entrada.nextDouble() * 2) / 10;
        double N2 = (entrada.nextDouble() * 3) / 10;
        double N3 = (entrada.nextDouble() * 4) / 10;
        double N4 = (entrada.nextDouble() * 1) / 10;
        double N5;
        double media = N1 + N2 + N3 + N4;

        if (media*10 - Math.floor(media*10) > 0.5001) {
          media = Math.ceil(media*10)/10;
        }

        else {
           media = Math.floor(media*10)/10;
        }

       System.out.printf("Media: %.1f\n", media);
        if (media < 5.0) {
          System.out.println("Aluno reprovado.");
        }
        if (media >= 7.0) {
          System.out.printf("Aluno aprovado.\n");
        }
        else if (media >= 5.0) {
          System.out.printf("Aluno em exame.\n");
          N5 = entrada.nextDouble();
          System.out.printf("Nota do exame: %.1f\n",N5);
          media = (media + N5) / 2;
          if (media >= 5) {
            System.out.println("Aluno aprovado.");
          }
          else {
            System.out.println("Aluno reprovado.");
          }
          System.out.printf("Media final: %.1f\n",media);

        }

    }
}

Nenhum comentário:

Postar um comentário

URI PROBLEMA 1133 - Resto da Divisão SOLUÇÃO EM C

URI Online Judge | 1133 Resto da Divisão Adaptado por Neilor Tonin, URI   Brasil Timelimit: 1 Escreva um programa que leia 2 valo...