Распечатать фамилии тех учеников класса которые являются хорошистами и отличниками по итогам года. Также указать насколько их средний балл отличается от среднего балла класса

Program Zapisi;
uses crt;
 
Type
  Student = Record                       
  familya:String[20];                    
  Balls:Array[1..4] of 2..5;             
  End;
 
Var
  g: array [1..32] of Student;        
  k: array [1..32] of integer;        
  s: array [1..32] of integer;        
  i:integer;                          
  j:integer;                          
  ks:integer;                          
  n:integer;                         
 
Begin
  Writeln ('Введите сведения о группе:');
  Writeln ('Введите количество студентов:');
  readln(n);
  For i:=1 to n do
  Begin
    Writeln ('ВВедите данные о ',i,' студенте:');
    With g[i] do
    Begin
      Write ('Фамилия и инициалы:');
      Read(familya);
      Write ('Оценки по предметам через пробел:');
      For j:=1 to 4 do Read (Balls[j]);
    End;
  End;
  Ks:=0;
  Writeln ('Отличники и хорошисты');
  For i:=1 to N do
  Begin K[i]:=0; S[i]:=0;
    With G[i] do
    begin
      For j:=1 to 4 do
      begin
        If Balls[j]>3 Then
          Begin
            K[i]:=K[i]+1;//Inc(K);
            S[i]:=S[i] + Balls[j];
          End;
      end;
    end;
  end;
  For i:=1 to N do
  Begin
    With G[i] do
    begin
      If K[i]=4 Then
      begin Write(familya);
        Inc(Ks);
        If S[i]=20 Then Write ('Отличник');
        Writeln;
      End;
    End;
  end;
  Writeln ('Всего ',Ks, ' человек')
End.

Leave a Comment

4 + 3 =