De esta manera si un alumno ha sacado un 3 en un examen donde la nota mínima es 3, su nota final será 0. De la misma manera, si quita un 7 y la nota máxima ha sido un 7 tendrá un 10.
La fórmula que permite calcular estas notas ponderadas es la siguiente:
Nos podrán entrar un máximo de 40 alumnos, y cuando entren "xxx" en el nombre, acabaremos el bucle de entrada y mostraremos los resultados. La nota calculada siempre con dos decimales, y la nota acta sin decimal y redondeada. El programa irá así:
Entra el nombre del alumno 1: Pedro
Entra la nota del alumno 1: 5.3
-----------------
Entra el nombre del alumno 2: Albert
Entra la nota del alumno 2: 5.81
-----------------
Entra el nombre del alumno 3: José
Entra la nota del alumno 3: 2.75
-----------------
Entra el nombre del alumno 4: Juan
Entra la nota del alumno 4: 8:20
-----------------
Entra el nombre del alumno 5: xxx
-------------------------------------------------- -----------
Listado de notas
-------------------------------------------------- -----------
La nota máxima: 8.2 / / La nota mínima: 2.75
Nombre Nota Examen Nota calculada Nota acta
Pedro 5.3 4.68 5
Albert 5.81 5.61 6
José 2.75 0.00 0
Joan 8.2 10:00 10
-------------------------------------------------- -----------
Media 05:52 05:07 5
- import java.lang.Math;
- import cs1.*;
- import java.util.*;
- import java.text.*;
- import java.io.*;
- public class Nota_alumnes {
- public static void main(String args[])
- {
- String [] nombre = new String [41];
- double [] nota = new double [41];
- String nom="";
- boolean salir=true;
- int i=1;
- double notas=0, nota_min=0, nota_calc=0;
- while (salir&&i<41) {
- System.out.print("Entra el nom de l'alumne "+i+": ");
- nom=Keyboard.readString();
- nombre[i]=nom;
- if (nom.equals("xxx")){
- salir=false;
- }
- if (salir==true){
- System.out.print("Entra la nota de l'alumne "+i+": ");
- notas=Keyboard.readDouble();
- nota[i]=notas;
- System.out.println("-----------------");
- i++;
- }
- }
- double [] nota_Ac = new double [i];
- double [] nota_min_max = new double [i];
- for (int j=1;j<i; j++){
- nota_Ac[j]=nota[j];
- nota_min_max[j]=nota[j];
- }
- System.out.println("-------------------------------------------------------------------------");
- System.out.println("Llistat de Notes");
- System.out.println("-------------------------------------------------------------------------");
- Arrays.sort(nota_min_max);
- int c=i-1;
- for (int a=1;a<i; a++) {
- if (a==1) {
- System.out.println("La nota màxima: "+nota_min_max[a]+" // La nota mínima: "+nota_min_max[c]);
- System.out.println("\nNom Nota Examen Nota calculada Nota acta");
- }
- nota_calc=((nota_Ac[a] - nota_min_max[1])/(nota_min_max[i-1]-nota_min_max[1]))*10;
- DecimalFormat dc = new DecimalFormat("#.##");
- System.out.println(nombre[a]+" "+nota_Ac[a]+" "+dc.format(nota_calc)+" "+dc.format(Math.round(nota_calc)));
- c=c-1;
- }
- }}
No hay comentarios:
Publicar un comentario