ESTE EJEMPLO ESTA YA COMPLETO CON ARREGLOS Y CON UN METODO Además incluyo la prueba de escritorio que también se deberá de entregar impresa: Corrida numero 1 Numero Calificación Calificación Calificación Calificación Calificación de alumnos alumno 1 alumno 2 alumno 3 alumno 4 alumno 5 5 5 9 8 4 10 Promedio general del grupo Numero de alumnos aprobados Numero de alumnos reprobados Porcentaje de alumnos aprobados Porcentaje de alumnos reprobados Numero de alumnos con calificación mayor o igual a cero 7.2 3 2 60 40 3 Corrida numero 2 Numero Mensaje de alumnos 11 El numero de alumnos que ingreso es incorrecto Corrida numero 3 Numero Calificación Calificación Calificación Calificación Calificación Calificación de alumnos alumno 1 alumno 2 alumno 3 alumno 4 alumno 5 alumno 6 6 8 7 6 10 9 5 Promedio general del grupo Numero de alumnos aprobados Numero de alumnos reprobados Porcentaje de alumnos aprobados Porcentaje de alumnos reprobados Numero de alumnos con calificación mayor o igual a cero 7.5 5 1 83.33 16.33 3 Corrida numero 4 Numero Mensaje de alumnos -3 El número de alumnos que ingreso es incorrecto REQUISITOS DEL PROYECTO 1. Deberá de estar desarrollado con arreglos, por lo menos un método, y con un while o dowhile para que pueda regresarle el programa y volver a ejecutarlo 2. Utilizar algunas sentencias como if, case, según sea el caso de cada problema 3. En el CD o DVD solo se entregara el programa en JAVA por favor verifiquen que este este grabado correctamente ya que recuerden el ultimo dia que ire a la universidad es el martes 6 de diciembre y ya no habrá aclaraciones de calificaciones posteriores a esa fecha. 4. Entregar documentación impresa: Diagrama entrada-proceso-salida, algoritmo, diagrama de flujo y prueba de escritorio. 5. No se recibirán proyectos en otra fecha diferente a la ya asignada a cada grupo. Problema. En un arreglo unidimensional se almacenan las calificaciones de N alumnos. Diseñar un programa que permita calcular e imprimir lo siguiente: El promedio general del grupo Número de alumnos aprobados y número de alumnos reprobados (Si el alumno obtuvo una calificación menor o igual a 6 se le considera reprobado). Porcentaje de alumnos aprobados y reprobados Número de alumnos cuya calificación fue mayor a 8 DIAGRAMA ENTRADA – PROCESO -SALIDA Entrada Número de alumnos: n Calificación del alumno: alumno[i] Proceso Realizar la condición donde n este comprendida entre 1 y 10 Si n>=1 y n>=10 Entonces Ingresar las calificaciones de los alumnos "Ingrese la calificación del alumno" alumno[i]; Recorrer las calificaicones ingresadas anteriormente Realizar la condición en donde la calificaicon del alumno se amayor o igual a 6 Si (alumno[i] >=6) Entonces Contar el numero de alumnos aprobados taluma<-taluma + 1; Sino Contar el numero de alumnos reprobados talumr<-talumr + 1; FinSi Realizar la condición en donde la calificación del alumno sea mayor o igual a 8 Si (alumno[i] >=8) Entonces Contar el numero de alumnos con calificaicones mayor o igual a 8 cal8<-cal8 + 1; FinSi Obtener la suma de las calificaciones de los alumnos prom<-prom + alumno[i]; Se calcual el promedio del grupo prom<-prom/n; Se calcula el porcentaje de alumnos aprobados porca<-(taluma*100)/n; Se calcula el porcentaje de alumnos reprobados porcr<-(talumr*100)/n; Salida Mostrar "El promedio general del grupo es:", prom; Mostrar "Total de alumnos aprobados" , taluma; Mostrar "Total de alumnos reprobados" , talumr; Mostrar "Porcentaje de alumnos aprobados" , porca; Mostrar "Porcentaje de alumnos reprobados" , porcr; Mostrar "Numero de alumnos con calificación mayor o igual a 8" , cal8; ALGORITMO 1. Inicio 2. Ingrese número de alumnos: n 3. Realizar condición 3.1 Si n>=1 y n>=10 Entonces 3.2 Ingresar las calificaciones del alumno: alumno[i] 4. Recorrer las calificaciones del alumnos y realizar una condición para evaluar aquellos en donde su calificación es mayor o igual a seis 4.1 Si (alumno[i] >=6) Entonces 4.2 Realizar el conteo de los alumnos aprobados taluma<-taluma + 1 4.3 Si no se cumple la condición anterior (4.1) 4.4 Realizar el contero de los alumnos reprobados 4.5 talumr<-talumr + 1 5. Realizar una condición para saber el número de alumnos con calificación mayor o igual a 8 5.1 Si (alumno[i] >=8) Entonces 5.2 Realizar el conteo de alumnos con calificación mayor o igual a 8 5.3 cal8<-cal8 + 1 6. realizar a suma de las calificaciones 6.1 prom<-prom + alumno[i] 7. Calcular el promedio de las calificaciones 7.1 prom<-prom/n 8. Mandar llamar a un método o modulo llamado Mostrar para calcular el porcentaje de alumnos aprobados, reprobados y los datos de salida. 9. Fin Modulo Mostrar datos 1. Inicio 2. Calcular el porcentaje de alumnos aprobados 2.1 porca<-(taluma*100)/n; 3. Calcular el porcentaje de alumnos aprobados 3.1 porcr<-(talumr*100)/n; 4. Mostrar en pantalla: "El promedio general del grupo es:" prom; 5. Mostrar en pantalla: "Total de alumnos aprobados" taluma; 6. Mostrar en pantalla: "Total de alumnos reprobados" talumr; 7. Mostrar en pantalla: "Porcentaje de alumnos aprobados" porca; 8. Mostrar en pantalla: "Porcentaje de alumnos reprobados" porcr; 9. Mostrar en pantalla: "Numero de alumnos con calificacion mayor o igual a 8" cal8; 10. Fin DIAGRAMA DE FLUJO Mostrar (n,prom,taluma,talumr,cal8) CODIGO JAVA //Autor: Fernandez Cardenas Yadira Karina //Fecha: 28 de Noviembre de 2011 //Este programa esta diseñado con arreglos y con un metodo package arreglos; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner leer = new Scanner (System.in); //Libreria para leer datosequivalente a Leer de PSEInt String regresar = "si"; //Variable de tipo cadena de caracteresllamada regresary esta inicializada con la cadena si while(regresar.equals("si")|| regresar.equals("SI")){ //Mientrasla variable regresarsea igual a si o SI realizara todas las insrucciones que estan dentro de las llaves del while //Se declaran variables globales int i, n, taluma=0, talumr=0,cal8=0; //Se declaran variable de tipo entero // i recorre el arreglo (variable indice) // n variable que guarda el numero de alumnos // taluma = 0 variable que guardara el total de alumnos aprobados, es una variable tipo contador por tal motivo esta inicializada en 0 // talumr = 0 variable que guardara el total de alumnos reprobados, es una variable tipo contador por tal motivo esta inicializada en 0 // cal8 = 0 variable que guardara el total de alumnos que su calificacion sea mayor o igual a 8, es una variable tipo contador por tal motivo esta inicializada en 0 double prom=0; //Se declaran variable de tipo double (pues aceptan punto decimal) // prom=0 variable que muestra el promedio general de las calificaicones de los alumnos, es una variable que muetsra el resulado de una operacion y por lo tanto esta inicializada en 0 ademas de ser una variable tipo acumulador double [] alumno = new double [10]; // Se declara un arreglo de tipo entero unidimensional dinamico de hasta 10 posiciones llamado alumnos System.out.println("Ingese numero de alumnos"); //Muestra un mensaje en pantalla pidiendoel numero de alumnos n = leer.nextInt(); //Se lee el numero de alumnos yse queda en la variable n //ingresar(); if( n >=1 && n<=10) //Si n es mayoro igual a 1 y n menor o igual a 10 (ya que 10 es el numero limite de elementos) { for(i=1; i<=n; i++)//con este ciclo for pide valores para el arreglo alumno en el cual se ingresara la calificaicon del mismo { System.out.println("Ingese calificación del alumno:" + i); //Muestra un mensaje en pantalla alumno[i] = leer.nextInt(); //Lee la calificaicon del alumno y la guarda en cada posicion del arreglo alumno[i] } } else // si no se cumple la condicion en donde n>=1 y n>=10 que indica el rango del arreglo de 1 a 10 { System.out.println("El numero de alumnos qeu ingreso es incorrecto"); //Muestra este mensaje continue; //Esta isntruccion se utiliza para decirle que continue con la ejecucion del programa } for(i=1; i<=n; i++) //Este ciclo for recorre los elmentos del arreglo alumno[i], es decirlos valoreque se leyeron en el for anterior { if(alumno[i] >= 6) //Si el elemento del arreglo alumno[i] es mayor o igual a seis entonces { taluma = taluma + 1; //se comienza a realizar el conteo del numero de alumnos en donde su calificacion sea mayor o igual a seis en la variable taluma } else //Si no se cumple la condicon anteriordel if(alumno[i] >= 6) { talumr = talumr + 1; //se comienza a realizar el conteo del numero de alumnos en donde su calificacion sea menor a seis en la variable talumr } if(alumno[i] >=8) //Si el elemento del arreglo es mayor o igual a 8 entonces { cal8 = cal8 + 1;// se comienza a realizar el conteo de los elementos del arreglo en donde dicho elemento sea mayor o igual a ocho } prom = prom + alumno[i]; //Se obtiene la suma de las calificaciones del arreglo alumno[i] en la variable prom qeu es un acumulador } prom = prom /n; //la suma de los elmentos del arreglo se divide entre el numero de elementos (variable n) y se obtiene asi el promedio de las calificaciones mostrar(n,prom,taluma,talumr,cal8); //Se manda llamar al metodo mostrar con los parametros de las variables n,prom,taluma,talumr y cal8 System.out.println("\n \n"); //Se dejan dos lineas en blanco System.out.println("Desea ingresar nuevamente al sistema (si/SI)?"); //Pregunta si suiere ingresar nuevamente al sistema regresar=leer.next(); //Se leee la respuesta que ingresa el usuario si escribe si o SI regresa hastga el while y si escribe algo diferente se sale del programa System.out.println("\n \n"); //Se dejan dos espacios en blanco } } public static void mostrar(int n,double prom, int taluma, int talumr, int cal8) //Se declaro un metodo llamado mostrar de tipo vacio el cual trae como parametros las variables especificadas { float porca=0; float porcr=0; //Variables locales declaradas dentro de este metodo de tipo flotante e inicializadas en cero pues son el resulatdo de una operacion System.out.println("El promedio general del grupo es:" + prom); //Se imprime el promedio System.out.println("Total de alumnos aprobados:" + taluma); //Se imprime el total de alumnos aprobados System.out.println("Total de alumnos reprobados:" + talumr); //Se imprime el total de alumnos reprobados porca=(taluma*100)/n; //Se calcula el porcentaje de alumnos aprobados porcr=(talumr*100)/n; //Se calcula el porcentaje de alumnos reprobados System.out.println("Porcentaje de alumnos aprobados: " + porca + " %"); //Se imprime el porcentaje de alumnos aprobados System.out.println("Porcentaje de alumnos reprobados:" + porcr + " %"); //Se imprime el porcentaje de alumnos reprobados System.out.println("Numero de alumnos con calificacion mayor o igual a 8: " + cal8); //Se imprime el numero de alumnos en donde su calificacion sea mayor o igual a 8 } }