uses crt;
const nmax=100;
type TStud=record
fam:string[12];
gr:11..13;
oc:array[1..5]of 2..5;
end;
var sp:array[1..nmax] of Tstud;
n,i,j,k,p:integer;
kch:real;
begin
clrscr;
repeat
write('Количество студентов n=');
readln(n);
until n in [1..nmax];
for i:=1 to n do
begin
writeln('Студент ',i);
write(' Фамилия: ');readln(sp[i].fam);
repeat
write(' Номер группы 11-13: ');
readln(sp[i].gr);
until sp[i].gr in [11..13];
for j:=1 to 3 do
repeat
write(' Оценка ',j,'=');
readln(sp[i].oc[j]);
until sp[i].oc[j] in [2..5];
end;
clrscr;
writeln('Список студентов:':40);
writeln;
p:=0;
writeln('------------------------------------------------------------------');
writeln('| Фамилия | Группа | Математика | Экономика| Программирование|');
writeln('------------------------------------------------------------------');
for i:=1 to n do
begin
k:=0;
for j:=1 to 3 do
if sp[i].oc[j] in [4,5] then k:=k+1;
if k=3 then p:=p+1;
gotoXY(1,whereY);write('| ',sp[i].fam);
gotoXY(15,whereY);write('| ',sp[i].gr);
gotoXY(24,whereY);write('| ',sp[i].oc[1]);
gotoXY(37,whereY);write('| ',sp[i].oc[2]);
gotoXY(48,whereY);write('| ',sp[i].oc[3]);
gotoXY(66,whereY);writeln('|');
end;
writeln('------------------------------------------------------------------');
kch:=p*100/n;
writeln('Качество успеваемости=',kch:0:1,'%');
write('Нажмите Enter');
readln;
clrscr;
writeln('Список студентов, имеющих задолженность:':50);
writeln;
writeln('------------------------------------------------------------------');
writeln('| Фамилия | Группа | Математика | Экономика| Программирование|');
writeln('------------------------------------------------------------------');
k:=0;
for i:=1 to n do
begin
p:=0;
for j:=1 to 3 do
if sp[i].oc[j]=2 then p:=p+1;
if p>0 then
begin
k:=1;
gotoXY(1,whereY);write('| ',sp[i].fam);
gotoXY(15,whereY);write('| ',sp[i].gr);
gotoXY(24,whereY);write('| ',sp[i].oc[1]);
gotoXY(37,whereY);write('| ',sp[i].oc[2]);
gotoXY(48,whereY);write('| ',sp[i].oc[3]);
gotoXY(66,whereY);writeln('|');
end;
end;
writeln('------------------------------------------------------------------');
if k=0 then write('Студентов, имеющих задолженность, нет!');
readln
end.