Вариант
Определение для каждого студента и в целом по группе среднего балла за сессию по всем предметам.
uses crt;
const nmax=25;
type TStud=record
fio:string[15];
mtm:byte;
fiz:byte;
inf:byte;
srb:real;
end;
var gr:array[1..nmax] of Tstud;
n,i:byte;
srg:real;
begin
clrscr;
repeat
write('Количество студентов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Введите данные:');
srg:=0;
for i:=1 to n do
begin
writeln('Студент ',i);
with gr[i] do
begin
write(' Фамилия И.О.: ');readln(fio);
repeat
write(' Оценка по математике '); readln(mtm);
write(' Оценка по физике '); readln(fiz);
write(' Оценка по информатике '); readln(inf);
until (mtm in [2..5])and(fiz in [2..5])and(inf in [2..5]);
srb:=(mtm+fiz+inf)/3;
srg:=srg+srb;
end;
end;
srg:=srg/n;
clrscr;
writeln('Список группы:':40);
writeln;
writeln('---------------------------------------------------------------');
writeln('| Фамилия И.О. | Математика | Физика | Информатика | Ср.балл|');
writeln('---------------------------------------------------------------');
for i:=1 to n do
with gr[i] do
begin
gotoXY(1,whereY);write('| ',fio);
gotoXY(18,whereY);write('|',mtm:7);
gotoXY(31,whereY);write('|',fiz:5);
gotoXY(40,whereY);write('|',inf:9);
gotoXY(54,whereY);write('|',srb:7:2);
gotoXY(63,whereY);writeln('|');
end;
writeln('---------------------------------------------------------------');
writeln('Средний балл по группе=',srg:38:2);
readln
end.