###F### писал(а):Нам задачи раздали и сказали делайте...
На лекции надо было ходить

Код: Выделить всё
const
_N=100;
type
TStudent = record
LastName:string;
Group:integer;
SessionAvgMark:real;
end;
var
StudentList:array[1.._N] of TStudentList;
N,i,MaxIdx:integer;
S:string;
begin
{заполнение массива исходными данными}
N:=0;
repeat
write('Введите фамилию, или нажмите Enter, если данные закончились: ');
readln(S);
if S<>'' then begin
inc(N);
with StudentList[N] do begin
LastName:=S;
write('Введите номер группы: '); readln(Group);
write('Введите среднюю оценку: '); readln(SessionAvgMark);
end;
end;
until (S='') or (N=_N);
if N>0 then begin
{Теперь есть массив из N студентов. Ограничение в 100
элементов можно увеличивать до тех пор пока компилятор не начнет ругаться}
{поиск отличника в группе #1}
{сначала найдем хоть кого-нибудь из гр.1}
i:=1;
while (StudentList[i].Group<>1) and i<
MaxIdx:=1;
for i:=1 to N do
if StudentList[i].SessionAvgMark>=StudentList[MaxIdx].SessionAvgMark
then MaxIdx:=i;
{ботаник найден}
writeln('Фамилия лучшего студента гр1: ',StudentList[MaxIdx].LastName)
end;
end.