programa de registro de notas
{Entrada de datos por teclado y presentación de los mismos entrada de 2 alumnos}
program aesamen;
uses
crt;
type
registro_alumno = record
nombre : string[50];
codigo : string[12];
seccion : string[3];
asignat : array[1..2] of string[10];
esamen : array[1..2,1..3] of real;
promedio : array[1..2] of real;
concepto : array[1..2] of string[15];
end;
const
centro = 'CENTRO ESCOLAR JAIME VILLANUEVA';
curso = '2§ A¥O DE BACHILLERATO EN DESARROLLO DE SOFTWARE A¥O: 2011';
var
alumno : array[1..2] of registro_alumno;
tecla : char;
alu, i : integer;
procedure entrada_datos(n : integer);
var
dato : real;
num : integer;
begin
if (n > 2) or (n < 1) then
exit
else
begin
gotoxy(5,3);write('Nombre : ');
gotoxy(14,3);readln(alumno[n].nombre);
gotoxy(5,4);write('Codigo : ');
gotoxy(14,4);readln(alumno[n].codigo);
gotoxy(5,5);write('Seccion : ');
gotoxy(15,5);readln(alumno[n].seccion);
gotoxy(5,6);write('Asignatura N§ 1 : ');
gotoxy(23,6);readln(alumno[n].asignat[1]);
for i := 1 to 3 do
begin
gotoxy(5,6 + i);write('Esamen N§',i,' : ');
gotoxy(18,6 + i);readln(alumno[n].esamen[1][i]);
end;
dato := 0.0;
for i := 1 to 3 do
begin
dato := dato + alumno[n].esamen[1][i];
end;
alumno[n].promedio[1] := (dato / 3);
if round(alumno[n].promedio[1]) in[0..4] then
alumno[n].concepto[1] := 'Insuficiente';
if round(alumno[n].promedio[1]) in[5..6] then
alumno[n].concepto[1] := 'Suficiente';
if round(alumno[n].promedio[1]) in[7..8] then
alumno[n].concepto[1] := 'Bien';
if round(alumno[n].promedio[1]) in[9..10] then
alumno[n].concepto[1] := 'Notable';
if round(alumno[n].promedio[1]) >= 11 then
alumno[n].concepto[1] := 'Sobresaliente';
gotoxy(5,11);write('Asignatura N§ 2 : ');
gotoxy(23,11);readln(alumno[n].asignat[2]);
for i := 1 to 3 do
begin
gotoxy(5,11 + i);write('Esamen N§',i,' : ');
gotoxy(18,11 + i);readln(alumno[n].esamen[2][i]);
end;
dato := 0.0;
for i := 1 to 3 do
begin
dato := dato + alumno[n].esamen[2][i];
end;
alumno[n].promedio[2] := (dato / 3);
if round(alumno[n].promedio[2]) in[0..4] then
alumno[n].concepto[2] := 'Insuficiente';
if round(alumno[n].promedio[2]) in[5..6] then
alumno[n].concepto[2] := 'Suficiente';
if round(alumno[n].promedio[2]) in [7..8] then
alumno[n].concepto[2] := 'Bien';
if round(alumno[n].promedio[2]) in[9..10] then
alumno[n].concepto[2] := 'Notable';
if round(alumno[n].promedio[2]) >= 11 then
alumno[n].concepto[2] := 'Sobresaliente';
end;
end;
procedure presenta(an : integer);
begin
clrscr;
if (an > 2) or (an < 1) then
exit
else
begin
gotoxy(17,2);write(centro);
gotoxy(5,3);write(curso);
gotoxy(5,5);write('NOMBRE DEL ALUMNO : ',alumno[an].nombre);
gotoxy(5,6);write('CODIGO DEL ALUMNO : ',alumno[an].codigo);
gotoxy(5,7);write('SECCION : ',alumno[an].seccion);
gotoxy(5,8);write('ASIGNATURA : ',alumno[an].asignat[1]);
gotoxy(5,9);write('EXAMEN 1 : ',alumno[an].esamen[1][1]:2:2);
gotoxy(5,10);write('EXAMEN 2 : ',alumno[an].esamen[1][2]:2:2);
gotoxy(5,11);write('EXAMEN 3 : ',alumno[an].esamen[1][3]:2:2);
gotoxy(5,12);write('PROMEDIO : ',alumno[an].promedio[1]:2:2);
gotoxy(5,13);write('CONCEPTO : ',alumno[an].concepto[1]);
gotoxy(5,14);write('ASIGNATURA : ',alumno[an].asignat[2]);
gotoxy(5,15);write('EXAMEN 1 : ',alumno[an].esamen[2][1]:2:2);
gotoxy(5,16);write('EXAMEN 2 : ',alumno[an].esamen[2][2]:2:2);
gotoxy(5,17);write('EXAMEN 3 : ',alumno[an].esamen[2][3]:2:2);
gotoxy(5,18);write('PROMEDIO : ',alumno[an].promedio[2]:2:2);
gotoxy(5,19);write('CONCEPTO : ',alumno[an].concepto[2]);
gotoxy(5,20);write(alumno[an].asignat[1],' | ',alumno[an].esamen[1][1]:2:2,
' | ',alumno[an].esamen[1][2]:2:2,' | ',alumno[an].esamen[1][3]:2:2,
' | ',alumno[an].concepto[1]);
gotoxy(5,21);write(alumno[an].asignat[2],' | ',alumno[an].esamen[2][1]:2:2,
' | ',alumno[an].esamen[2][2]:2:2,' | ',alumno[an].esamen[2][3]:2:2,
' | ',alumno[an].concepto[2]);
gotoxy(5,24);write('PULSE UNA TECLA');
repeat until keypressed;
end;
end;
procedure menu;
var
r : integer;
tec : char;
begin
gotoxy(10,3);write('MENU JENERAL');
gotoxy(6,5);write('1 = ','Entrada datos');
gotoxy(6,6);write('2 = ','Ver datos');
gotoxy(6,7);write('3 = ','Salir');
gotoxy(6,9);write('Elija Opcion');
repeat
tecla := readkey;
clrscr;
case tecla of
#49 : begin
alu := 1;
repeat
clrscr;
entrada_datos(alu);
alu := alu + 1;
until alu > 2;
end;
#50 : begin
gotoxy(10,2);write('ALUMNO A PRESENTAR [1 o 2]');
repeat
tec := readkey;
until tec in[#49,#50];
case tec of
#49 : r := 1;
#50 : r := 2;
end;
presenta(r);
end;
end;
clrscr;
gotoxy(10,3);write('MENU JENERAL');
gotoxy(6,5);write('1 = ','Entrada datos');
gotoxy(6,6);write('2 = ','Ver datos');
gotoxy(6,7);write('3 = ','Salir');
gotoxy(6,9);write('Elija Opcion');
until tecla = #51;
end;
begin
clrscr;
menu;
end.