uses crt;
const pol:array[1..2] of string=('девушка','юноша');
type uch=record
p:string;
r:byte;
end;
var a:array[1..30] of uch;
n,i,k,mx:byte;
sr:real;
begin
clrscr;
repeat
write('Количество учеников до 30 n=');
readln(n);
until n in [1..30];
writeln('Введите пол и рост учеников:');
for i:=1 to n do
begin
writeln('Ученик ',i);
repeat
write(' Пол: 1-девушка 2-юноша: ');
readln(k);
until k in [1..2];
a[i].p:=pol[k];
repeat
write(' Рост от 100 до 190: ');
readln(a[i].r);
until a[i].r in [100..190];
end;
sr:=0;
mx:=0;
for i:=1 to n do
begin
sr:=sr+a[i].r;
if (a[i].p='юноша')and(a[i].r>mx) then mx:=a[i].r;
end;
sr:=sr/n;
writeln('Средний рост учеников=',sr:0:1);
writeln('Самый высокий юноша имеет рост=',mx);
readln
end.