, , . , 10 , . , :
, . ;
;
. 4.00, 2 .


. 2 , .
:

Code:
Program GrupaStudenti;

Type
   TipStudent = record
   name: string[25];
   egn: string[10];
   fak: string[6];
   oc: array[1..10] of 2..6;
   sr: real;
end;

Var
   n:integer;
   grp: file of TipStudent;
   student: TipStudent;

Procedure sruspeh( Var stdt:TipStudent);
 Var 
    Sum : real;
    k: integer;
  begin
     Sum:=0;
     for k:=1 to 10 do
        Sum:=Sum+stdt.oc[k];
        stdt.sr:=Sum/10;
  end;

Procedure Grupa;
Var
    i, k : integer;
    ch:char;  str:string;
begin
     write('vavedete ime na fail:'); readln(str);
     assign(grp,str);
     rewrite(grp);
     write ('nov student? (Y/N):'); readln(ch);
     while (ch='Y') or (ch='y') do
      begin
         write('vavedete ime:'); readln(student.name);
  	 write('EGN:'); readln(student.egn);
	 write('Fak. nomer:'); readln(student.fak);
	 write('Ocenki:');
	 for k:=1 to 10 do
	    begin
		write('vavedete ocenka ',k,':'); readln(student.oc[k]);
	    end;
         sruspeh(student);
         writeln('sreden uspeh: ',student.sr:6:5);
         write(grp,student);
         write ('nov student? (Y/N):'); readln(ch);
   end;
  close(grp); 
end;
, . )