[ Foro de Pascal ]

Problema con un programa

17-May-2021 09:43
Invitado (Igor)
1 Respuestas

Muy buenas, estoy programando un programa para clase, en el que me piden que pidiendo los datos de unos alumnos sobre sus notas, calcule la nota media de cada uno, y debajo de su nombre con su nota media ponga la nota que tiene en cada asignatura.  El caso es que en el tercer alumno, cuando introduzco su ultima nota, al mostrarme la tabla de datos en su ultima nota me pone la nota media en vez de la nota introducida. Dejo el programa aqui abajo.

var
  i:integer;
  A:integer;
  M:real;
  N:integer;
  R:integer;
  Asignaturas: array [1..4] of string;
  Alumnos: array [1..3] of string;
  Notas: array [1..3,1..4] of real;
  Notamedia: array [1..3] of real;
  Redondeo: array [1..3] of integer;
  Final:integer;

begin
  (*Pedir asignaturas*)
   For I:=1 to 4 do
      Begin
        writeln ('Introduce el nombre de una asignatura');
        readln (Asignaturas[I])
      end;
  (*pedir nombres y apellidos*)
   For A:=1 to 3 do
      Begin
        writeln ('Introduce el nombre y apellido de un alumno. Ejemplo "Pedro Garcia Fernandez"');
        readln (Alumnos[A])
      end;
  (*Tabla de notas*)
   For A:=1 to 3 do
     For I:=1 to 4 do
       Begin
         Writeln ('Introduce la nota del alumno  ',Alumnos[A],'  de  ',asignaturas[I]);
         readln (Notas[A,I])
       end;
  (*Nota media*)
    For A:=1 to 3 do
     begin
      m:=0;
      For I:=1 to 4 do
       begin
        M:= M+notas[A,I];
       end;
       notamedia[n]:=M/4;
     end;
    (*Redondeo*)
    For I:=1 to 3 do
     begin
      redondeo[I]:= round(notamedia[n]);
     end;
    (*Tabla de datos*)
    For A:=1 to 3 do
     begin
      m:=0;
      For I:=1 to 4 do
       begin
        M:= M+notas[A,I];
       end;
       notamedia[n]:=M/4;
       writeln (Alumnos[A],' - ',notamedia[n],'  redondeado a  ',redondeo[I]);
        For I:=1 to 4 do
            Writeln ('       ',asignaturas[I],notas[A,I]);
     end;


  readln(Final);
end.
                                                                 


17-May-2021 10:51
Nacho Cabanes (+83)

Los "warning" son tus amigos. Mira lo que te dice:

main.pas(42,18) Warning: Variable "N" does not seem to be initialized






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)