Ver Mensaje Individual
  #1  
Antiguo 25-08-2013
agustingsz agustingsz is offline
Registrado
NULL
 
Registrado: ago 2013
Posts: 1
Reputación: 0
agustingsz Va por buen camino
Ayuda programa basico

Buenas noches, tengo el siguiente programa
Código:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

Const
 NumEstudiante = 4;
 NumAsignatura = 4;

Type
 IndiceEstudiantes = 1 .. NumEstudiante;
 IndiceAsignaturas = 1 .. NumAsignatura;
 TablaNotas        = Array [IndiceEstudiantes,IndiceAsignaturas] of real;
 MediaAlumnos      = Array [IndiceEstudiantes] of real;
 MediaAsignaturas  = Array [IndiceAsignaturas] of real;
var
 Notas        : TablaNotas;
 M_Alumnos    : MediaAlumnos;
 M_Asignatura : MediaAsignatura;

Procedure LeerNotas (Var N: TablaNotas);
Var
 E: 1 .. NumEstudiantes;
 A: 1 .. NumAsignaturas;

Begin
for E := 1 to NumEstudiantes do
 Begin
 Writeln ('Introduzca las ', NumAsignaturas,'calificaciones del alumno ',E,' en una sola linea');
 for A := 1 to NumAlumno do
  read (N [E,A]);
  readln;
 end;
End;

Procedure MediaProAsignatura (Var N : TablaNotas; Var Medias : MediaAsignatura);
Var
 E    : 1 .. NumEstudiantes;
 A    : 1 .. NumAsignaturas;
 Suma : Real;

Begin
 for E := 1 to NumAsignaturas do
 Begin
   Suma := 0 ;
   for A := 1 to NumEstudiantes do
     Suma := Suma + N [E,A];
   Medias [A] := Suma / NumEstudiantes ;
 end;
End;

Procedure MediaProEstudiante (Var N : TablaNotas; Var Medias : MediaAsignatura);
Var
 E    : 1 .. NumEstudiantes;
 A    : 1 .. NumAsignaturas;
 Suma : Real;

Begin
 for E := 1 to NumEstudiantess do
 Begin
   Suma := 0 ;
   for A := 1 to NumAsignaturas do
     Suma := Suma + N [E,A];
   Medias [A] := Suma / NumEstudiantes;
 end;
End;

Procedure Resultados (var M : TablaNotas , Var Media_A : MediaAsignatura , Var Media_E : MediaEstudiante);
Var
 E    : 1 .. NumEstudiantes;
 A    : 1 .. NumAsignaturas;

Begin
 Writeln ('Estudiante' : 10 , 'Media' : 10 , ' ' : 25 , 'Asignaturas');
 Writeln ('..........' : 10 , '.....' : 10 , ' ' : 25 , '...........');
 for E := 1 to NumEstudiantes do
 Begin
   Writeln (E : 5 , Media_E [E] : 15 :2);
   for A := 1 to NumAsignaturas do
     Writeln (Notas [E,A] :14 :2 );
     writeln;
    end;
   writeln;
   write ('Medias de las asignaturas', ' ' :3 );
   for A := 1 to NumAsignaturas do  do
     Writeln (Media_A [A] :3 :2 , ' ' : 10);
   writeln
 End;

End;

Begin
  try
    { TODO -oUser -cConsole Main : Insert code here }
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Como habría que hacer para agregarle un metodo de busqueda, ya sea burbuja, busqueda binaria, etc?

Gracias !
Responder Con Cita