Ranking de Estudiantes por Paralelo en Java: Identificación del Mejor y Peor Desempeño
Clasificado en Informática
Escrito el en español con un tamaño de 5,08 KB
Este documento presenta un programa en Java diseñado para identificar al estudiante con el mejor y el peor desempeño académico dentro de tres paralelos distintos. El programa calcula y muestra las notas individuales, determina los estudiantes con la calificación más alta y más baja, y calcula el promedio general de todos los estudiantes.
Código Java
package javaapplication47;
import java.util.Scanner;
/**
* Ejercicio: 16
* Descripción: Realizar un Programa que permita mostrar cual es el mejor y el peor estudiante de 3 paralelos
* Fecha: 26 de Junio del 2014
* Autor: Massuh Jael
*/
public class JavaApplication47 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int i = 0, j = 0;
float promedio = 0;
float acumula = 0;
String sms = "";
int studenthigh = 0, paralelohigh = 0, paralelolow = 0, studentlow = 0;
float nota = 0, mayor = 0, menor = 0;
int paralelo = 3, tamano = 3;
float[][] matriz;
matriz = new float[paralelo][tamano];
// para los 3 paralelos
for (i = 0; i < tamano; i++) {
if (i == 0) {
sms = "A";
}
if (i == 1) {
sms = "B";
}
if (i == 2) {
sms = "C";
}
System.out.printf("Ingrese las notas del paralelo => %s\n", sms);
for (j = 0; j < tamano; j++) { // para los estudiantes
System.out.printf("Ingrese la nota del estudiante %d **", +j + 1);
matriz[i][j] = entrada.nextFloat(); // pedir la nota
}
}
menor = matriz[0][0];
paralelolow = 0 + 1;
studentlow = 0 + 1;
for (i = 0; i < tamano; i++) {
for (j = 0; j < tamano; j++) { // para los estudiantes
if (matriz[i][j] < menor) {
menor = matriz[i][j];
studentlow = j + 1;
paralelolow = i + 1;
}
}
}
mayor = matriz[0][0];
paralelohigh = 0 + 1;
studenthigh = 0 + 1;
for (i = 0; i < tamano; i++) {
for (j = 0; j < tamano; j++) { // para los estudiantes
if (matriz[i][j] > mayor) {
mayor = matriz[i][j];
studenthigh = j + 1;
paralelohigh = i + 1;
}
}
}
if (paralelohigh == 1) {
sms = "A";
}
if (paralelohigh == 2) {
sms = "B";
}
if (paralelohigh == 3) {
sms = "C";
}
System.out.printf("El mejor estudiante es %d del paralelo %s\n", studenthigh, sms);
if (paralelolow == 1) {
sms = "A";
}
if (paralelolow == 2) {
sms = "B";
}
if (paralelolow == 3) {
sms = "C";
}
System.out.printf("El peor estudiante es %d del paralelo %s\n", studentlow, sms);
for (i = 0; i < tamano; i++) {
for (j = 0; j < tamano; j++) {
acumula = acumula + matriz[i][j];
}
}
promedio = acumula / (paralelo * tamano);
System.out.printf(" el promedio es %f \n", promedio);
}
}
Descripción del Código
- Declaración de Variables: Se declaran las variables necesarias para almacenar las notas, los nombres de los paralelos, y los resultados.
- Entrada de Datos: Se utiliza la clase
Scanner
para permitir al usuario ingresar las notas de los estudiantes para cada paralelo. - Almacenamiento de Notas: Las notas se almacenan en una matriz bidimensional, donde las filas representan los paralelos y las columnas representan a los estudiantes.
- Cálculo del Mejor y Peor Estudiante: Se recorre la matriz para identificar las notas más alta y más baja, y se determina a qué estudiante y paralelo corresponden.
- Cálculo del Promedio: Se calcula el promedio general de todas las notas ingresadas.
- Salida de Resultados: Se muestran en consola el mejor y el peor estudiante, junto con su respectivo paralelo, y el promedio general de las notas.
Ejemplo de Uso
Al ejecutar el programa, se solicitará ingresar las notas de los estudiantes para cada uno de los tres paralelos (A, B y C). Una vez ingresadas todas las notas, el programa mostrará el estudiante con la nota más alta, el estudiante con la nota más baja, y el promedio general de todas las notas.
Consideraciones Adicionales
- El tamaño de los paralelos (número de estudiantes) está definido por la variable
tamano
. - El número de paralelos está definido por la variable
paralelo
. - El código puede ser adaptado para manejar un número diferente de paralelos y estudiantes modificando estas variables.