Çà ãðóïà ñòóäåíòè ñà çàäàäåíè èìå, ÅÃÍ, ôàê. ¹, îöåíêèòå ïî 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;
Äàéòå ìè ïîíå íÿêàêâè íàñîêè, à è ãîòîâ êîä íÿìà äà îòêàæà. )