Autor Tema: Ejercicio en pseudocodigo usando bucles y arrays determinar valores medios  (Leído 2779 veces)

Santi73Arg

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Hola, me llamo santiago, me registre porque siempre veo algunos ejercicios para aprender mejor a programar, encontré el otro día un ejercicio en Internet bastante jodido, (para mi) en pascal.

Intente hacerlo en pseudocodigo pero no hay chances de comprobar si esta bien. Por eso lo estoy haciendo en pascal. Si alguien me puede ayudar se lo agradecería

Ejercicio en cuestion: Un establecimiento educativo tiene un curso de 30 alumnos. Las materias que se imparten son: Inglés Técnico, Algebra, Análisis Matemático I y Programación. Luego de los exámenes finales se carga una matriz de notas de 30 x 4 (filas son los alumnos y las columnas las 4 materias).

Se desean hacer las siguientes consultas sobre la tabla de notas:

a) Determinar y mostrar por pantalla el promedio general del curso
b) Determinar y mostrar por pantalla el promedio general del curso por materia
c) Determinar y mostrar por pantalla el apellido de los alumnos con mejor promedio en cada materia
d) Crear un arreglo con los nombre de los alumnos que tengan más de dos materias aplazadas. Mostrar por pantalla.

Hice un array de 30x4 con carácter numero, que diga las notas nomas. Y después otro array de 30 que diga el nombre de los alumnos y por orden se le asignan las notas.
Pero la pregunta como carajo hago para una vez hecho el array pedir el promedio del curso por materia y por alumno, pide el promedio por ejemplo de la fila J o columna B??
« Última modificación: 24 de Junio 2015, 12:20 por Alex Rodríguez »

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Ejercicio en pseudocodigo y Pascal
« Respuesta #1 en: 23 de Junio 2015, 17:30 »
Hola puedes aprovechar los índices del array para hacer los cálculos.

Por ejemplo si el array de notas los creas como Dim Nota(30, 4) As Double

suponiendo que los índices vayan de 1 a 30 y de 1 a 4 (con esto hay que tener cuidado porque los índices suelen empezar en cero pero aquí los dejo como si empezaran en 1 para simplificar)

Nota(6,3) = 7 lo que significaría es que el alumno 6 en la materia 3 sacó como nota un 7.


El promedio general de todos los alumnos en todas las materías se obtendría así:

numeroAlumnos=30
numeroMaterias=4
suma = 0

for i=1 to numeroAlumnos
   for j=1 to numeroMaterias
      suma = suma + Nota(i,j)
   next j
next i

promedio = suma / (numeroAlumnos*numeroMaterias)

Mostrar "El promedio general del curso es " , promedio



El promedio por materia habría que sacarlo así:

sumaMat1 = 0

for i=1 to numeroAlumnos

      sumaMat1 = sumaMat1 + Nota(i,1)
next i

promedioMat1 = sumaMat1 / numeroAlumnos

Mostrar "El promedio en la materia 1 es " , promedioMat1



Esto lo puedes hacer para las cuatro materias, o si prefieres puedes generar un bucle que saque los cuatro promedios:

numeroAlumnos=30
numeroMaterias=4
sumaMat = 0

   for j=1 to numeroMaterias
      for i=1 to numeroAlumnos
      sumaMat = sumaMat + Nota(i,j)
      next i
      promedioMat = sumaMat / (numeroAlumnos)
      Mostrar "El promedio en la materia", j , " es " , promedioMat
      sumaMat = 0
   next j



Para la pregunta c) ya depende de cómo trabajes, si trabajas con registros (record) donde un registro lleva los datos de un alumno o si trabajas con arrays correlacionados. Por ejemplo Dim apellidoAlumno(30) que te diera los apellidos del alumno con el número indicado por el índice.

En este curso tienes ejercicios resueltos bastante parecidos, http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

Por ejemplo en "Ejercicios ejemplos resueltos con Desde-Siguiente (for-next) y arrays (arreglos) en pseudocódigo. (CU00154A)" es bastante parecido y otros también

Saludos!

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".