{$codepage UTF8} TYPE TAlumno = Record Nombre:String; Edad : byte; Sexo : Char; End; TListaAlumnos=array [1..10] of TAlumno; VAR alumnos:TListaAlumnos; PROCEDURE LeerRegistro(Var Reg:TAlumno); Begin Write(' Nombre : ');Readln(Reg.Nombre); Write(' Edad : ');Readln(Reg.Edad); Write(' Sexo : ');Readln(Reg.Sexo); End; PROCEDURE Ordenar(Var alumnos:TListaAlumnos); Var i,j:byte; aux:TAlumno; Begin For i:=2 to 10 do Begin aux:=alumnos[i]; j:=i-1; While ( (j>=1) and (alumnos[j].Nombre>aux.Nombre) ) do Begin alumnos[j+1]:= alumnos[j]; j := j - 1; End; alumnos[j+1]:=aux; End; End; PROCEDURE MostrarRegistro(Reg:TAlumno); Begin Writeln(Reg.Nombre:10,Reg.Edad:10,Reg.Sexo:10); End; VAR i:byte; BEGIN for i:=1 to 10 do Begin Writeln('Registro [',i,']'); LeerRegistro(alumnos[i]) End; Ordenar(alumnos); for i:= 1 to 10 do MostrarRegistro(alumnos[i]); END.