///Ejercicio MODELO (2023) ///Enunciado: /// Crear un array que contenga 100 notas con valores entre 0 y 20 generadas aleatoriamente /// mediante el uso de la función azar() o aleatorio() de PseInt. Luego, de acuerdo a las notas /// contenidas, el programa debe indicar cuántos estudiantes son: /// Eficientes 0-5 /// Regulares 6-10 /// Buenos 11-15 /// Excelentes 16-20 Algoritmo ejercicioModeloVector //Defino las variables que se utilizarán como totalizadores de clasificación Definir totalDeficiente, totalRegular, totalBueno, totalExcelente Como Entero //Defino el tipo de datos del listado de notas y //Creo el listado de notas con 100 posiciones posibles Definir listadoDeNotas Como Entero Dimension listadoDeNotas(100) //Inicializo los totalizadores de clasificación totalDeficiente =0 totalRegular=0 totalBueno=0 totalExcelente=0 //Utilizamos un SubProceso para inicializar el listado de notas con todos sus //valores en cero inicializarListadoDeNota(listadoDeNotas) //Utilizamos un SubProceso para mostrar el Vector. Este código lo realizamos de //esta forma ya que mostraremos el vector en más de una oportunidad y no queremos //duplicar código. //El Vector se pasa por valor ya que no será modificado, solo se imprimen por pantalla //sus valores mostrarNotas(listadoDeNotas) //Utilizamos un subproceso generar la notas. El arreglo se pasa por referencia //porque va ser modificado con valores en sus posiciones. generarNota(listadoDeNotas) //Mostramos el listado de notas con todos sus valores generados mostrarNotas(listadoDeNotas) //Utilizamos una función para obtener las calificaciones de los alumnos teniendo en cuenta //la clasificación establecida en el ejercicio. clasificarNotas(listadoDeNotas, totalDeficiente, totalRegular, totalBueno, totalExcelente) //Mostramos por pantalla los valores totales de las clasificaciones Escribir "" Escribir "---------------------------" Escribir "Estudiantes deficientes: " totalDeficiente Escribir "Estudiantes excelentes: " totalRegular Escribir "Estudiantes buenos: " totalBueno Escribir "Estudiantes excelentes: " totalExcelente FinAlgoritmo //SubProceso que se encarga de inicializar el listado de notas con todos //su valores en 0 SubProceso inicializarListadoDeNota(listado Por Referencia) //Definimos el itereador del bucle para y lo inicializamos desde //donde comenzará Definir i Como Entero //Recorremos el vector y asignamos posición por posición el valor 0 Para i = 0 Hasta 99 Con Paso 1 Hacer listado(i) = 0 FinPara FinSubProceso //SubProceso que se encarga de generar las notas entre 0 y 20. //Cada nota es asignada en las posiciones del vector. //Para recorrer el vector utilizamos un bucle Para que va de 0 a 99. SubProceso generarNota(listado Por Referencia) //Definimos el itereador del bucle para y lo inicializamos desde //donde comenzará Definir i Como Entero //Recorremos el vector y asignamos posición por posición el valor //que genera la función Aleatorio Para i = 0 Hasta 99 Con Paso 1 Hacer listado(i) = Aleatorio(0,20) FinPara FinSubProceso //SubProceso que se encarga de mostrar las notas contenidas en cada //posición del listado (vector) SubProceso mostrarNotas(listadoDeNotas) //Definimos el itereador del bucle Para Definir i Como Entero //Recorremos el vector y mostramos por pantalla el contenido de cada //una de sus posiciones. Para i = 0 Hasta 99 Con Paso 1 Hacer Escribir "Posición " i " con nota " listadoDeNotas(i) FinPara FinSubProceso //SubProceso que permite agrupar las notas teniendo en cuenta la //clasificación Deficiente, Regular, Bueno, Excelente SubProceso clasificarNotas (listadoDeNotas, totalDeficiente Por Referencia, totalRegular Por Referencia, totalBueno Por Referencia, totalExcelente Por Referencia) //Definimos el itereador del bucle Para Definir i Como Entero //Recorremos el bucle y obtenemos de cada posición la nota para luego //teniendo en cuenta su valor poder determinar su clasificación //Realizamos la sumatoria para totalizar la cantidad que tiene cada clasificación Para i = 0 Hasta 99 con paso 1 Hacer Segun listadoDeNotas(i) Hacer 0,1,2,3,4,5: totalDeficiente = totalDeficiente + 1 6,7,8,9,10: totalRegular = totalRegular + 1 11,12,13,14,15: totalBueno = totalBueno + 1 16,17,18,19,20: totalExcelente = totalExcelente + 1 FinSegun FinPara FinSubProceso //////////////////////////////////////////////////////////////////////////////////////////// ///Propuesta de modificación para realizar en casa ///¿Qué sucede si deseo mostrar el listado de notas antes de inicializarlo? ///-Realizar una función que dada una posición del listado de notas /// retorrne el valor para mostrarlo por pantalla. /// ¿Que sucede si a la función le paso la posición 110? /// - Realizar un SubProceso donde se pasa como parámetros la posición y el valor que /// contendra esa posición en el listado de notas. Luego mostrar el listado de notas ////////////////////////////////////////////////////////////////////////////////////////////