По данным сведений об учениках класса определить средний рост мальчиков и средний вес девочек.Кто из мальчиков самый высокий — Pascal(Паскаль)

uses crt;
const nmax=30;
type
uchenik=record
        fam:string[20];
        pol:char;
        rst:byte;
        ves:byte;
        end;
var z:array[1..nmax] of uchenik;
    n,i,j,mx,imx,kd,km:byte;
    r,v:integer;
begin
clrscr;
repeat
write('Количество учеников до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Введите данные об учениках:');
for i:=1 to n do
 begin
  writeln('Ученик ',i);
  with z[i] do
   begin
    write(' фамилия: ');readln(fam);
    repeat
    write(' пол d/m: ');readln(pol);
    until pol in ['d','m'];
    repeat
    write(' рост (от 100 до 200): ');readln(rst);
    until rst in [100..200];
    repeat
    write(' вес (от 40 до 80): ');readln(ves);
    until ves in [40..80];
   end;
  end;
mx:=0;imx:=1;
km:=0;kd:=0;
r:=0;v:=0;
for i:=1 to n do
 begin
  if z[i].pol='m' then
   begin
    km:=km+1;
    r:=r+z[i].rst;
    if (z[i].rst>mx)then
     begin
      mx:=z[i].rst;
      imx:=i;
     end;
   end
  else
   begin
    kd:=kd+1;
    v:=v+z[i].ves;
   end;
 end;
if km=0 then writeln('Мальчиков в списке нет!')
else
 begin
  writeln('Средний рост мальчиков=',round(r/km));
  writeln('Самый высокий ',z[imx].fam);
 end;
if kd=0 then writeln('Девочек в списке нет!')
else writeln('Средний вес девочек=',round(v/kd));
readln
end.

Leave a Comment

75 − = 72