Calcular la nota media, nota mayor y nota menor de una serie de alumnos

Programa Java que pida por teclado la nota obtenida por cada alumno en un examen y calcule y muestre la nota media de la clase, la nota mayor y la nota menor.  
Solución:
Para resolver el ejercicio utilizaremos como estructura repetitiva un bucle for.
Seguiremos los siguientes pasos:


1. Introducir por teclado el número de alumnos.

2. Para cada alumno pediremos su nota.

3. Para calcular la media:

  • Utilizaremos una variable llamada suma donde iremos acumulando todas las notas introducidas.
  • Cuando finalice la lectura de notas, la media de las notas la calcularemos dividiendo el contenido de la variable suma entre el número total de alumnos. 
  • Utilizaremos la función printf para mostrar la media con dos decimales. 

4. Para calcular la nota mayor y menor:
  • Tomaremos la primera nota introducida y la guardamos como mayor y menor
  • El resto de notas que se vayan introduciendo se comparan con la mayor y menor actual. Si la nota es mayor que la mayor actual se guarda como nueva nota mayor. Si la nota es menor que la nota menor actual se guarda como nueva nota menor.
  • Finalmente mostraremos por pantalla la media de las notas, la nota mayor y la menor.
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n;
        double nota, suma = 0, mayor, menor;;
       
        System.out.println("Nota media, mayor y menor de una clase");
        System.out.println("--------------------------------------");

        do {
            System.out.print("Introduce numero de alumnos: ");
            n = sc.nextInt();  //n contiene el número de alumnos
        } while (n <= 0); //repetir mientras que el valor de n sea <= 0

        System.out.print("Nota del alumno 1: ");
        nota = sc.nextDouble(); // leemos la nota del primer alumno
       
        suma = suma + nota; //la sumamos al acumulador
       
        mayor = nota; //la tomamos como nota mayor y menor
        menor = nota;
       
        for (int i = 2; i <= n; i++) {  // leemos el resto de notas desde el alumno 2 hasta el alumno n         
            System.out.print("Nota del alumno " + i + ": ");
            nota = sc.nextDouble();
            suma = suma + nota; // la sumamos al acumulador
            if (nota > mayor){  // se compara la nota con la mayor y con la menor actual
                mayor = nota;
            } else if (nota < menor) {
                menor = nota;
            }
        }

        // mostrar resultados
        System.out.printf("Nota media: %.2f %n" , suma/n);
        System.out.println("La mayor nota ha sido un " + mayor);
        System.out.println("La menor nota ha sido un " + menor);
    }
   
}

14 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. Ese do..while inicial, está de más; así me pareció y lo corrí y funciona bien sin él; o para que se supone que és?

    ResponderEliminar
    Respuestas
    1. El número de alumnos debe ser un número positivo. Ese do while es para evitar que el número de alumnos sea un valor <= 0.

      Eliminar
    2. Cuantas veces en la escuela te pusieron un -1

      Eliminar
    3. aveces los profesores te ponen a prueba en los programas tomando encuenta esos errores

      Eliminar
  3. //Con una nota maxima de 10
    import java.util.*;
    import java.io.IOException;
    public class MyClass {
    public static void main(String args[]) throws IOException {

    Scanner sc = new Scanner(System.in);
    char I;
    int n;
    double c3;
    int c1 = 0,c2 = 0;//contadores de notas
    int M = 0,m = 10;//acumuladores de Mayor y menor nota
    do{
    System.out.print("Introduce la nota del alumno: ");
    n = sc.nextInt();
    c1 = c1 + n;
    c2 = c2 + 1;
    if (n >= M){
    M = n;
    }
    if (n <= m){
    m = n;
    }
    System.out.print("Desea continuar (s/n): ");
    I = (char) System.in.read();
    System.in.read();
    }while (I != 'n' && I != 'N');
    c3 = c1 / c2;
    System.out.println("El promedio del curso es: "+c3);
    System.out.println("la mayor nota del curso: "+m);
    System.out.println("la menor nota del curso: "+n);

    }
    }

    ResponderEliminar
    Respuestas
    1. perdon confundi las variables a mostrar
      System.out.println("la mayor nota del curso: "+M);
      System.out.println("la menor nota del curso: "+m);

      Eliminar
    2. //sin una nota maxima extablecida
      import java.util.*;
      import java.io.IOException;
      public class MyClass {
      public static void main(String args[]) throws IOException {

      Scanner sc = new Scanner(System.in);
      char I;
      double n;
      double c3,c1 = 0;
      int c2 = 0;//contador de notas
      double M = 0,m = 0;//acumuladores de Mayor y menor nota
      do{
      System.out.print("Introduce la nota del alumno: ");
      n = sc.nextDouble();
      c1 = c1 + n;
      c2 = c2 + 1;
      if (c2 == 1){
      M = n;
      m = n;
      }else{
      if (n <= m){
      m = n;
      }
      if (n >= M){
      M = n;
      }
      }
      System.out.print("Desea continuar (s/n): ");
      I = (char) System.in.read();
      System.in.read();
      }while (I != 'n' && I != 'N');
      c3 = c1 / c2;
      System.out.println("El promedio del curso es: "+c3);
      System.out.println("la mayor nota del curso: "+M);
      System.out.println("la menor nota del curso: "+m);

      }
      }

      Eliminar
  4. Calcula el Promedio de Dos Notas en Java Nebteans con JOptionpane ���� https://ludelweb.net/calcular-promedio-dos-notas-java/

    ResponderEliminar
  5. Calcula el Promedio de tres Notas en Java Nebteans con JOptionpane
    https://ludelweb.net/calcular-promedio-tres-notas-java/

    ResponderEliminar
  6. PROGRAMAR EN POO EL CALCULO DEL PROMEDIO DE NOTAS Y CONDICIONARLO EN LOS SIGUIENTES TERMINOS
    NOTAS <10= DESAPROBADO
    NOTAS =10,11 Y 12 =PASAN A RECUPERACION
    NOTAS >12 APROBADOS


    MENCIONAR CUANTOS APROBADOS HAY.


    ALGUIEN SABE? EN POOH

    ResponderEliminar
  7. Calcula el Promedio de tres Notas en Java Nebteans con JOptionpane falcimente --> https://imparteconocimientos.com/calcular-promedio-tres-notas-java/

    ResponderEliminar
  8. escribe un programa que lea 5 notas y reporte la mayor y la menor nota. Asumir que se ingresan notas diferentes algoritmo

    ResponderEliminar