uses crt;
const max=30;
type TStud=record
fm:string[15];
mt,fz,inf:2..5;
srb:real;
end;
var sp:array[1..max] of Tstud;
n,i,k:integer;
begin
clrscr;
repeat
write('Количество студентов до ',max,' n=');
readln(n);
until n in [1..max];
for i:=1 to n do
begin
writeln('Студент ',i);
with sp[i] do
begin
write(' Фамилия: ');readln(fm);
writeln(' Оценка (2..5) по :');
repeat
write(' матанализ: ');readln(mt);
until mt in [2..5];
repeat
write(' физика: ');readln(fz);
until fz in [2..5];
repeat
write(' информатика: ');readln(inf);
until inf in [2..5];
srb:=(mt+fz+inf)/3;
end;
end;
writeln('Список студентов, имеющих 5 по информатике:');
k:=0;
for i:=1 to n do
if sp[i].inf=5 then
begin
k:=1;
writeln(sp[i].fm,' ',sp[i].srb:0:2);
end;
if k=0 then write('Таких студентов нет');
readln
end.