Создание программ с использованием записей, как правило, трудностей не вызывает. Поэтому ограничимся только теми комментариями, приведенными в тексте программы.

Program Problem52_1;
Type
  Bagaz = Record
              Kol:Byte; {Количество вещей}
              Ves:Real; {Вес в килограммах}
              Sr_Ves_Bag:Real; {Средний вес вещи}
          End;
Var
    Bagaz_Pas:Array[1..30] Of Bagaz;
    Flag:Boolean;
    N,i,Kol1,Kol2:Byte;
    Sr_Ves:Real; {Средний вес одной вещи всего багажа}
    Sr_Kol:Real; {Среднее количество вещей}
Begin
  WriteLn('Задайте количество пассажиров:');
  ReadLn(N);
  For i:=1 To N Do
    With Bagaz_Pas[i] Do
      Begin
        WriteLn('Пассажир N',i);
        Write('Количество вещей: ');
        ReadLn(Kol);
        Write('Общий вес: ');
        ReadLn(Ves);
        Sr_Ves_Bag:=Ves/Kol; {Средний вес вещи}
        WriteLn; {Пропуск пустой строки}
      End;
  Sr_Ves:=0; {Начальные значения}
  Sr_Kol:=0;
  {Нахождение среднего веса вещи всего багажа и}
  {среднего количества вещей}
  For i:=1 To N Do
    With Bagaz_Pas[i] Do
      Begin
        Sr_Ves:=Sr_Ves+Sr_Ves_Bag;
        Sr_Kol:= Sr_Kol+Kol;
      End;
  Sr_Ves:=Sr_Ves/N; 
  Sr_Kol:=Sr_Kol/N;
  WriteLn('Задание а)');
  Flag:=False;
  For i:=1 To N Do
    With Bagaz_Pas[i] Do
      If abs(Sr_Ves_Bag-Sr_Ves)<=0.3 Then
       Begin
         WriteLn('Кол-во вещей: ',Kol,' их вес: ',Ves);
         Flag:=True;
       End;
  If Not Flag Then WriteLn('Таких нет');
  WriteLn('Задание б)');
  Kol1:=0; {Кол-во пассажиров, имеющих более 2-х вещей}
  Kol2:=0; {Кол-во пассажиров, вещей у которых}
           {больше среднего}
  For i:=1 To N Do
    With Bagaz_Pas[i] Do
     Begin
      If Kol>2 Then Kol1:=Kol1+1;
      If Kol>Sr_Kol Then Kol2:=Kol2+1;
     End;
  WriteLn('Пассажиров, у которых больше 2-х вещей: ', Kol1);
  WriteLn('Пассажиров, у которых вещей больше 
                  среднего: ', Kol2);
  WriteLn('Задание в)');
  Flag:=False;
  For i:=1 To N Do
    With Bagaz_Pas[i] Do
  If (Kol=1) and (Ves<30) Then Flag:=True;
  If Flag Then WriteLn('Такой пассажир имеется')
  Else WriteLn('Такого пассажира нет');
End.
Текст этой программы можно взять здесь.