RE:AYUDENME POR FAVOR CON ESTE PROGRAMA
Hola Jose! ¿Quién te dijo de hacerlo así, profesores o algún compañero?
Noto algunas cosas que no van a funcionar tal como están. Primero que hay muchas variables globales, pero en éstas no figura el vector de nombres, por ejemplo. Yo te propongo el siguiente código del programa principal, y vos implementás los procedimientos y funciones... en lo que respecta al llenado del vector, no sería necesario inicializarlo en este caso, pero es una buena práctica para otros momentos.
TYPE
TVECTOR_NOTAS = ARRAY [1..N] OF REAL; {o INTEGER}
TVECTOR_NOMBRES = ARRAY [1..N] OF STRING;
{CODIGO PRINCIPAL}
VAR
VECTOR_NOTAS : TVECTOR_NOTAS;
VECTOR_NOMBRES : TVECTOR_NOMBRES;
BEGIN
{procedure que lee los nombres y las notas, promedia éstas últimas y guarda los datos en sus respectivos vectores}
LEER_INFORMACION (VECTOR_NOTAS,VECTOR_NOMBRES);
{recorre ambos vectores en paralelo, mostrando nombre y promedio}
MOSTRAR_LISTADO (VECTOR_NOTAS,VECTOR_NOMBRES);
INFORMAR_MAX_Y_MIN (VECTOR_NOTAS,VECTOR_NOMBRES);
END.
Puedes cambiarle los nombres a los procedures, los intenté poner lo más descriptivo posible. Puse el INFORMAR por separado para darle mayor claridad. Pero si te insisten con recorrer los vectores la menor cantidad posible de veces, puedes incluirlo, por ejemplo, en MOSTRAR_LISTADO, que a medida que va recorriendo y mostrando los datos, verifica las notas mínima y máxima.
Ten en cuenta que en el procedimiento LEER_INFORMACION los arreglos se pasan por referencia, en los restantes puedes pasarlos por valor.
Y también recuerda que el arreglo tiene que ser de tipo real, o bien integer, pero considerando que para sacar el promedio y guardarlo en un integer, debes usar DIV y no el operador /.
Intenta implementarlos, y si te trabas vuelve... un abrazo!