íà òåìó ðåôåðàòû
 
Ãëàâíàÿ | Êàðòà ñàéòà
íà òåìó ðåôåðàòû
ÐÀÇÄÅËÛ

íà òåìó ðåôåðàòû
ÏÀÐÒÍÅÐÛ

íà òåìó ðåôåðàòû
ÀËÔÀÂÈÒ
... À Á Â Ã Ä Å Æ Ç È Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ý Þ ß

íà òåìó ðåôåðàòû
ÏÎÈÑÊ
Ââåäèòå ôàìèëèþ àâòîðà:


Ðåôåðàò: Àâòîìàòèçèðîâàííàÿ ñèñòåìà ðàñïðåäåëåíèÿ ìåñò è îöåíîê êà÷åñòâà îëèìïèàäíûõ çàäàíèé


    Label2.Caption:='Êîëè÷åñòâî áëîêîâ çàäà÷ - '+Bcon;

    MCon:=ReadString('MARK_CONFIG','MARKS_TYPE',Default);

    SortType:=ReadString('SORT_CONFIG','SORT_TYPE',Default);

    if MCon='ONE_IN_ONE' then

      begin

        NumMarks:=StrToFloat(ReadString('MARK_CONFIG','MARKS_VALUE',Default));

        Label3.Caption:='Îáùèé áàëë äëÿ âñåõ çàäà÷ ðàâåí '+FloatToStr(NumMarks);

      end;

    if SortType='1' then Label4.Caption:='Ñëàáûé êîëëåêòèâ (1,2,3)';

    if SortType='2' then Label4.Caption:='Ñèëüíûé êîëëåêòèâ (1,3,2)';

    if SortType='3' then Label4.Caption:='Ñìåøàííûé êîëëåêòèâ';

   end;

   Conf1.Free;

 except

  Application.MessageBox('Îøèáêà ÷òåíèÿ èç INI-ôàéëà. Ïðîâåðüòå êîíôèãóðàöèþ.','Îøèáêà',mb_Ok+mb_IconHand);

  Exit;

 end;

 try

  with Query1 do

   begin

    Active:=False;

    SQL.Clear;

    SQL.Add('Select * from "'+Form1.Table1.TableName+'"');

    ExecSQL;

   end;

   Query1.Active:=True;

   Chart1.Enabled:=True;

   DBGrid1.Enabled:=True;

   RadioGroup1.Enabled:=True;

  except

   Application.MessageBox('Îøèáêà èíèöèàëèçàöèè ÁÄ. Âîçìîæíî íå óñòàíîâëåí BDE, èëè áàçà íå îòêðûòà.','Îøèáêà',mb_Ok+MB_ICONHAND);

   Chart1.Enabled:=False;

   DBGrid1.Enabled:=False;

   RadioGroup1.Enabled:=False;

   Exit;

  end;

  if Query1.RecordCount=0 then

   begin

    Application.MessageBox('Â ÁÄ íåò íè îäíîé çàïèñè.','Ñîîáùåíèå',mb_Ok+MB_ICONASTERISK);

    RadioGroup1.Enabled:=False;

    Exit;

   end;

  try

   with Query1 do

    begin

     First;

     for i:=1 to RecordCount do

      begin

       if BCon='3' then

        begin

         blocks[1]:=FieldValues['MARK1']+FieldValues['MARK2'];

         blocks[2]:=FieldValues['MARK3']+FieldValues['MARK4'];

         blocks[3]:=FieldValues['MARK5']+FieldValues['MARK6'];

         param[1]:=(blocks[1]+blocks[2]+blocks[3])-3*NumMarks;

         param[2]:=2*(blocks[2]-0.5*(blocks[1]+blocks[3]));

         param[3]:=(blocks[3]-blocks[1])+NumMarks;

        end;

       if Bcon='2' then

        begin

         blocks[1]:=FieldValues['MARK1']+FieldValues['MARK2']+FieldValues['MARK3'];

         blocks[2]:=FieldValues['MARK4']+FieldValues['MARK5']+FieldValues['MARK6'];

         blocks[3]:=0;

         param[1]:=(blocks[1]+blocks[2])-3*NumMarks;

         param[2]:=(blocks[2]-blocks[1])+NumMarks;

         param[3]:=0;

        end;

       if Bcon='1' then

        begin

         blocks[1]:=FieldValues['MARK1']+FieldValues['MARK2']+FieldValues['MARK3']+FieldValues['MARK4']+FieldValues['MARK5']+FieldValues['MARK6'];

         blocks[2]:=0;

         blocks[3]:=0;

         param[1]:=blocks[1]-NumMarks;

         param[2]:=0;

         param[3]:=0;

        end;

       Edit;

       FieldValues['PARAM1']:=param[1];

       FieldValues['PARAM2']:=param[2];

       FieldValues['PARAM3']:=param[3];

       Next;

     end;

    end;

  except

   Application.MessageBox('Íåèçâåñòíàÿ îøèáêà!','Îøèáêà',mb_Ok+MB_ICONHAND);

   Exit;

  end;

 try

  with Query1 do

   begin

    Active:=False;

    SQL.Clear;

    SQL.Add('select * from "'+Form1.Table1.TableName+'"');

    SQL.Add('order by PARAM1 desc, PARAM2 desc, PARAM3 desc');

    ExecSQL;

   end;

  DataSource1.DataSet:=Query1;

  DataSource1.Enabled:=True;

  DBGrid1.DataSource:=DataSource1;

  DBGrid1.Enabled:=True;

  Query1.Active:=True;

 except

  Application.MessageBox('Îøèáêà âûïîëíåíèÿ ñîðòèðîâêè ó÷àñòíèêîâ. Ïðîâåðüòå êîíôèãóðàöèþ.','Îøèáêà',mb_Ok+MB_ICONHAND);

  Exit;

 end; 

end;

procedure TForm5.BitBtn1Click(Sender: TObject);

begin

 ModalResult:=mrOk;

end;

procedure TForm5.RadioGroup1Click(Sender: TObject);

 var

  SortStr:string;

begin

  case RadioGroup1.ItemIndex of

   0: SortStr:='order by PARAM1 desc';

   1: SortStr:='order by PARAM2 desc';

   2: SortStr:='order by PARAM3 desc';

   3: SortStr:='order by PARAM1 desc,PARAM2 desc,PARAM3 desc';

  end;

  if (SortType='1') and (RadioGroup1.ItemIndex=3) then SortStr:='order by PARAM1 desc, PARAM3 desc, PARAM3 desc';

  with Query1 do

   begin

    Active:=False;

    SQL.Clear;

    SQL.Add('select * from "'+Form1.Table1.TableName+'"');

    SQL.Add(SortStr);

    ExecSQL;

    Active:=True;

   end;

end;

procedure TForm5.N11Click(Sender: TObject);

 var

  i,j,NumI:integer;

  ind,per:double;

  GrPar, GrPercent, parm:array[1..200] of double;

begin

 

  NumI:=StrToInt(FloatToStr(NumMarks));

  for i:=0 to 200 do

   begin

     GrPar[i]:=0;

     GrPercent[i]:=0;

     parm[i]:=0;

   end; 

  per:=0;

  ind:=0;

  Query1.First;

  if Sender=N11 then

   begin

 

     for j:=1 to Query1.RecordCount do

         begin

           parm[j]:=Query1.FieldValues['PARAM1'];

           Query1.Next;

         end;

     ind:=-3*NumMarks;

     for i:=1 to 6*NumI+1 do

      begin

         for j:=1 to Query1.RecordCount do

           begin

             if ind=parm[j] then per:=per+1;

           end;

        GrPar[i]:=ind;

        GrPercent[i]:=per/Query1.RecordCount;

        per:=0;

        ind:=ind+1;

      end;

      Series1.Clear;

      Chart1.BottomAxis.Title.Caption:='Ïàðàìåòð 1';

      Chart1.BottomAxis.Minimum:=-3*NumMarks;

     Chart1.BottomAxis.Maximum:=ind-1;

      For i:=0 to 6*NumI+1 do

       begin

        Series1.AddXY(GrPar[i],GrPercent[i]);

       end;

  end;

  if Sender=N21 then

   begin

     for j:=1 to Query1.RecordCount do

         begin

           parm[j]:=Query1.FieldValues['PARAM2'];

           Query1.Next;

         end;

     ind:=-2*NumMarks;

     for i:=1 to 4*NumI+1 do

      begin

         for j:=1 to Query1.RecordCount do

           begin

             if ind=parm[j] then per:=per+1;

           end;

        GrPar[i]:=ind;

        GrPercent[i]:=per/Query1.RecordCount;

        per:=0;

        ind:=ind+1;

      end;

     Series1.Clear;

     Chart1.BottomAxis.Title.Caption:='Ïàðàìåòð 2';

     Chart1.BottomAxis.Minimum:=-2*NumMarks;

     Chart1.BottomAxis.Maximum:=ind-1;

     For i:=0 to 4*NumI+1 do

      begin

       Series1.AddXY(GrPar[i],GrPercent[i]);

      end;

  end;

  if Sender=N31 then

   begin

     for j:=1 to Query1.RecordCount do

         begin

           parm[j]:=Query1.FieldValues['PARAM3'];

           Query1.Next;

         end;

     ind:=-1*NumMarks;

     for i:=1 to 2*NumI+1 do

      begin

         for j:=1 to Query1.RecordCount do

           begin

             if ind=parm[j] then per:=per+1;

           end;

        GrPar[i]:=ind;

        GrPercent[i]:=per/Query1.RecordCount;

        per:=0;

        ind:=ind+1;

      end;

     Series1.Clear;

     Chart1.BottomAxis.Title.Caption:='Ïàðàìåòð 3';

     Chart1.BottomAxis.Minimum:=-1*NumMarks;

     Chart1.BottomAxis.Maximum:=ind-1;

     For i:=0 to 2*NumI+1 do

      begin

       Series1.AddXY(GrPar[i],GrPercent[i]);

      end;

   end;

   if Sender=N1 then

     begin

        for j:=1 to Query1.RecordCount do

         begin

           parm[j]:=Query1.FieldValues['SUMMARK'];

           Query1.Next;

         end;

     ind:=0;

     for i:=1 to 6*NumI+1 do

      begin

         for j:=1 to Query1.RecordCount do

           begin

             if ind=parm[j] then per:=per+1;

           end;

        GrPar[i]:=ind;

        GrPercent[i]:=per/Query1.RecordCount;

        per:=0;

        ind:=ind+1;

      end;

     Series1.Clear;

     Chart1.BottomAxis.Title.Caption:='Ñóììàðíûé áàëë';

     Chart1.BottomAxis.Minimum:=0*NumMarks;

     Chart1.BottomAxis.Maximum:=ind-1;

     For i:=0 to 6*NumI+1 do

      begin

       Series1.AddXY(GrPar[i],GrPercent[i]);

      end;

     end;

  Query1.First;

end;

procedure TForm5.N3Click(Sender: TObject);

begin

  if ColorDialog1.Execute then

   begin

    Series1.SeriesColor:=ColorDialog1.Color;

   end;

end;

procedure TForm5.N4Click(Sender: TObject);

begin

 if ColorDialog1.Execute then

  begin

   Chart1.Gradient.EndColor:=ColorDialog1.Color;

   Chart1.Gradient.StartColor:=clWhite;

  end;

end;

end.

Ìîäóëü 6.

Êîä ýòîãî ìîäóëÿ îòâå÷àåò çà îêíî è ñàì ïðîöåññ ñîçäàíèÿ ëîêàëüíîé áàçû äàííûõ.

unit Unit6;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ExtCtrls, StdCtrls, Buttons, DB, DBTables;

type

  TForm6 = class(TForm)

    Panel1: TPanel;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    Label1: TLabel;

    Edit1: TEdit;

    Label2: TLabel;

    Edit2: TEdit;

    Label3: TLabel;

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form6: TForm6;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm6.BitBtn1Click(Sender: TObject);

begin

 ModalResult:=mrNo;

end;

procedure TForm6.BitBtn2Click(Sender: TObject);

var

 Comm:TStringList;

 

begin

 try

         with Form1.Table1 do begin

                Active := False;

                DatabaseName := 'Olymp';

                TableType := ttParadox;

                TableName := Edit1.Text;

                if not Form1.Table1.Exists then begin

                        with FieldDefs do begin

                        Clear;

                                with AddFieldDef do begin

                                        Name := 'Counter';

                                        DataType := ftInteger;

                                        Required := True;

                                end;

                                with AddFieldDef do begin

                                        Name := 'FIO';

                                        DataType := ftString;

                                        Size := 25;

                                end;

                                with AddFieldDef do begin

                                         Name := 'MARK1';

                                        DataType := ftFloat;

                                        Required := True;

                                end;

                                with AddFieldDef do begin

                                        Name := 'MARK2';

                                        DataType := ftFloat;

                                        Required := True;

                                end;

                                with AddFieldDef do begin

                                        Name := 'MARK3';

                                        DataType := ftFloat;

                                        Required := True;

                                end;

                                with AddFieldDef do begin

                                        Name := 'MARK4';

                                        DataType := ftFloat;

                                        Required := True;

                                end;

                                with AddFieldDef do begin

                                        Name := 'MARK5';

                                        DataType := ftFloat;

                                        Required := True;

                                end;

                                with AddFieldDef do begin

                                        Name := 'MARK6';

                                        DataType := ftFloat;

                                        Required := True;

                                end;

                                with AddFieldDef do begin

                                        Name := 'SUMMARK';

                                        DataType := ftFloat;

                                        Required := True;

                                end;

                                with AddFieldDef do begin

                                        Name := 'SCHOOL';

                                        DataType := ftString;

                                        Size := 35;

                                end;

                                with AddFieldDef do begin

                                        Name := 'PARAM1';

                                        DataType := ftFloat;

                                        Required:=False;

                                end;

                                with AddFieldDef do begin

                                        Name := 'PARAM2';

                                        DataType := ftFloat;

                                        Required:=False;

                                end;

                                with AddFieldDef do begin

                                        Name := 'PARAM3';

                                        DataType := ftFloat;

                                        Required:=False;

                                end;

                                with AddFieldDef do begin

                                        Name := 'PLACE';

                                        DataType := ftInteger;

                                        Required:=False;

                                end;

                        end;

                        with IndexDefs do begin

                        Clear;

                                with AddIndexDef do begin

                                        Name := '';

                                        Fields := 'COUNTER';

                                        Options := [ixPrimary];

                                end;

                                with AddIndexDef do begin

                                        Name := 'VAL1';

                                        Fields := 'PARAM1';

                                        Options := [ixDescending];

                                end;

                                with AddIndexDef do begin

                                        Name := 'VAL2';

                                        Fields := 'PARAM2';

                                        Options := [ixDescending];

                                end;

                                with AddIndexDef do begin

                                        Name := 'VAL3';

                                        Fields := 'PARAM3';

                                        Options := [ixDescending];

                                end;

                        end;

                CreateTable;

                Application.MessageBox('Ëîêàëüíàÿ áàçà äàííûõ óñïåøíî ñîçäàíà!','Ñîîáùåíèå',mb_OK+mb_IconAsterisk);

                end

                else Application.MessageBox('Ëîêàëüíàÿ áàçà äàííûõ óæå ñóùåñòâóåò è îòêðûòà!','Ñîîáùåíèå',mb_OK+mb_IconAsterisk);

                end;

                except

                  Application.MessageBox('Îøèáêà ñîçäàíèÿ áàçû äàííûõ!','Âíèìàíèå',mb_OK+mb_IconHand);

                  Exit;

                end;

        Form1.Table1.Active:=True;

        Form1.dsOlymp.DataSet:=Form1.Table1;

        Form1.DBGrid1.DataSource:=Form1.dsOlymp;

        Comm:=TStringList.Create;

        Comm.Clear;

        Comm.Add(Edit2.Text);

        Comm.SaveToFile('Bases\'+Edit1.Text+'.olp');

        Comm.Free;

        Form1.Label1.Caption:='Îïèñàíèå ÁÄ: '+Edit2.Text;

        ModalResult:=mrNo;

end;

end.

Ìîäóëü 6.

Ýòîò ìîäóëü îòâå÷àåò çà âåñü ïðîöåññ îöåíêè êà÷åñòâà çàäàíèé.  íåì ðàññ÷èòûâàþòñÿ âñå ïàðàìåòðû, è ñòðîÿòñÿ íåîáõîäèìûå äèàãðàììû.

unit Unit7;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ExtCtrls, StdCtrls, Buttons, Grids, DBGrids, TeEngine, Series,

  TeeProcs, Chart, DB, DBTables, INIFiles;

type

  TForm7 = class(TForm)

    Panel1: TPanel;

    BitBtn1: TBitBtn;

    Chart1: TChart;

    Series1: TBarSeries;

    DataSource1: TDataSource;

    Query1: TQuery;

    GroupBox1: TGroupBox;

    Label1: TLabel;

    Label2: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Chart2: TChart;

    Series2: TBarSeries;

    Chart3: TChart;

    Series3: TLineSeries;

    Series4: TBarSeries;

    Series5: TBarSeries;

    Label3: TLabel;

    Series6: TLineSeries;

    procedure BitBtn1Click(Sender: TObject);

    procedure FormShow(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form7: TForm7;

  Cf1:TIniFile;

implementation

uses Unit1, Unit5, foxsoft;

{$R *.dfm}

procedure TForm7.BitBtn1Click(Sender: TObject);

begin

 ModalResult:=mrOk;

end;

procedure TForm7.FormShow(Sender: TObject);

var

  i,j,NumI,kl,kz,nz,gr:integer;

  ind,per,block1,block2,block3,coun,coun1,coun2,coun3,n1,n2,n3,k:double;

  p1,p2,p3:array [1..50] of double;

  GrPar, GrPercent, parm:array[1..200] of double;

  MCon, Default,maxb:string;

  sbl1,sbl2,sbl3:double;

  kn, kp:array[1..3] of double;

  srbl1,srbl2,srbl3,sdxq1,sdxq2,sdxq3:double;

  dx1,dx2,dx3,sigm1,sigm2,sigm3,m:double;

begin

 try

  with Query1 do

   begin

    Active:=False;

    SQL.Clear;

    SQL.Add('Select * from "'+Form1.Table1.TableName+'"');

    ExecSQL;

   end;

   Query1.Active:=True;

  

   Chart1.Enabled:=True;

  

  except

   Application.MessageBox('Îøèáêà èíèöèàëèçàöèè ÁÄ. Âîçìîæíî íå óñòàíîâëåí BDE, èëè áàçà íå îòêðûòà.','Îøèáêà',mb_Ok+MB_ICONHAND);

   Chart1.Enabled:=False;

   Exit;

  end;

  if Query1.RecordCount=0 then

   begin

    Application.MessageBox('Â ÁÄ íåò íè îäíîé çàïèñè.','Ñîîáùåíèå',mb_Ok+MB_ICONASTERISK);

    Exit;

   end;

  Cf1:=TIniFile.Create(GetCurrentDir+'\Config.ini');

 try

  with Cf1 do

   begin

    MCon:=ReadString('MARK_CONFIG','MARKS_TYPE',Default);

    if MCon='ONE_IN_ONE' then

      begin

        maxb:=ReadString('MARK_CONFIG','MARKS_VALUE',Default);

      end;

    MCon:=ReadString('BLOCK_CONFIG','NUM_BLOCKS',Default); 

   end;

 NumI:=StrToInt(maxb); 

   Cf1.Free;

 except

  Application.MessageBox('Îøèáêà ÷òåíèÿ èç INI-ôàéëà. Ïðîâåðüòå êîíôèãóðàöèþ.','Îøèáêà',mb_Ok+mb_IconHand);

  Exit;

 end;

  for i:=0 to 200 do

   begin

     GrPar[i]:=0;

     GrPercent[i]:=0;

     parm[i]:=0;

   end;

  per:=0;

  ind:=0;

  Query1.First;

  for j:=1 to Query1.RecordCount do

         begin

           parm[j]:=Query1.FieldValues['SUMMARK'];

           Query1.Next;

         end;

     ind:=0;

     for i:=1 to 6*NumI+1 do

      begin

         for j:=1 to Query1.RecordCount do

           begin

             if ind=parm[j] then per:=per+1;

           end;

        GrPar[i]:=ind;

        GrPercent[i]:=per/Query1.RecordCount;

        per:=0;

        ind:=ind+1;

      end;

     Series1.Clear;

     Chart1.BottomAxis.Title.Caption:='Ñóììàðíûé áàëë';

     Chart1.BottomAxis.Minimum:=0*NumMarks;

     Chart1.BottomAxis.Maximum:=ind-1;

     For i:=0 to 6*NumI+1 do

      begin

       Series1.AddXY(GrPar[i],GrPercent[i]);

      end;

  if MCon='2' then

    begin

     with Query1 do

      begin

       Series2.Clear;

       Chart2.BottomAxis.Maximum:=RecordCount;

       Chart2.BottomAxis.Minimum:=0;

       n1:=0;

       k:=1;

       coun:=0;

       First;

       for i:=1 to RecordCount do

        begin

         block1:=FieldValues['MARK1']+FieldValues['MARK2']+FieldValues['MARK3'];

         block2:=FieldValues['MARK4']+FieldValues['MARK5']+FieldValues['MARK6'];

         Series2.AddXY(k,block1-block2);

         if block1-block2>=0 then coun:=coun+1;

         Next;

         k:=k+1;

        end;

     end;

   n1:=coun/Query1.RecordCount;

   Label1.Caption:='Íàäåæíîñòü ðåàëèçàöèè - '+FloatToStr(n1*100)+'%.';

  end;

  if MCon='3' then

    begin

     with Query1 do

      begin

       Series2.Clear;

       Series4.Clear;

       Series5.Clear;

       Chart2.BottomAxis.Maximum:=RecordCount+10;

       Chart2.BottomAxis.Minimum:=0;

       n1:=0; n2:=0; n3:=0;

       k:=1;

       coun:=0; coun2:=0; coun3:=0;

       First;

       for i:=1 to RecordCount do

        begin

         block1:=FieldValues['MARK1']+FieldValues['MARK2'];

         block2:=FieldValues['MARK3']+FieldValues['MARK4'];

         block3:=FieldValues['MARK5']+FieldValues['MARK6'];

         Series2.AddXY(k,block1-block2);

         Series4.AddXY(k,block2-block3);

         Series5.AddXY(k,block1-block3);

         if block1-block2>=0 then coun1:=coun1+1;

         if block2-block3>=0 then coun2:=coun2+1;

         if block1-block3>=0 then coun3:=coun3+1;

         Next;

         k:=k+1;

        end;

     end;

   n1:=coun1/Query1.RecordCount;

   n2:=coun2/Query1.RecordCount;

   n3:=coun3/Query1.RecordCount;

   Label1.Caption:='Íàäåæíîñòü ðåàëèçàöèè - '+FloatToStr(Okrugl(n1*100,2))+'%, '+FloatToStr(Okrugl(n2*100,2))+'%, '+FloatToStr(Okrugl(n3*100,2))+'%.';

  end;

  if MCon='1' then

    begin

      Series2.Clear;

      Series4.Clear;

      Series5.Clear;

      Label1.Caption:='Ïàðàìåòð íå èìååò ñìûñëà ñ 1 áëîêîì.';

    end; 

  Label3.Caption:='Êîëè÷åñòâî áëîêîâ çàäà÷ - '+Mcon;

  Label5.Caption:='Îáøåå êîëè÷åñòâî ó÷àñòíèêîâ '+IntToStr(Query1.RecordCount)+'.';

  Label4.Caption:='Ìàêñèìàëüíûé áàëë ðàâåí '+IntToStr(NumI)+'.';

  if MCon<>'1' then

   begin

     Query1.First;

     for i:=1 to Query1.RecordCount do

       begin

         p1[i]:=Query1.FieldValues['PARAM1'];

         p2[i]:=Query1.FieldValues['PARAM2'];

         p3[i]:=Query1.FieldValues['PARAM3'];

         Query1.Next;

       end;

     kl:=0;

     j:=1;

     kz:=Query1.RecordCount;

     nz:=0;

     gr:=0;

     for i:=1 to kz do

       begin

        with Query1 do

         begin

          Active:=False;

          SQL.Clear;

          SQL.Add('Select * from "'+Form1.Table1.TableName+'"');

          SQL.Add('where (PARAM1='+FloatToStr(p1[j])+') and (PARAM2='+FloatToStr(p2[j])+') and (PARAM3='+FloatToStr(p3[j])+')');

          ExecSQL;

          Active:=True;

          kl:=Query1.RecordCount;

          if kl=1 then j:=j+1;

          if kl>1 then

           begin

            j:=j+kl;

            nz:=nz+kl;

            gr:=gr+1;

           end;

        end;

      end;

   Label2.Caption:='Êîýôôèöèåíò ìåñò - '+FloatToStr(Okrugl((kz-nz+gr)/kz,2))+'.';

  end

   else Label2.Caption:='Äëÿ îäíîãî áëîêà íå ðàññ÷èòûâàåòñÿ.';

   //This is a demo-code for KN & KP

  try

   with Query1 do

     begin

      Active:=False;

      SQL.Clear;

      SQL.Add('Select * from "'+Form1.Table1.TableName+'"');

      ExecSQL;

     end;

   Query1.Active:=True;

   Chart1.Enabled:=True;

  except

   Application.MessageBox('Îøèáêà èíèöèàëèçàöèè ÁÄ. Âîçìîæíî íå óñòàíîâëåí BDE, èëè áàçà íå îòêðûòà.','Îøèáêà',mb_Ok+MB_ICONHAND);

   Chart1.Enabled:=False;

   Exit;

  end;

   sbl1:=0; srbl1:=0;

   sbl2:=0; srbl2:=0;

   sbl3:=0; srbl3:=0;

   dx1:=0; dx2:=0; dx3:=0;

   sdxq1:=0; sdxq2:=0; sdxq3:=0;

   sigm1:=0; sigm2:=0; sigm3:=0;

   Query1.First;

   if MCon='2' then

     begin

      for i:=1 to Query1.RecordCount do

        begin

          block1:=Query1.FieldValues['MARK1']+Query1.FieldValues['MARK2']+Query1.FieldValues['MARK3'];

          block2:=Query1.FieldValues['MARK4']+Query1.FieldValues['MARK5']+Query1.FieldValues['MARK6'];

          sbl1:=sbl1+block1;

          sbl2:=sbl2+block2;

          Query1.Next;

        end;

      srbl1:=sbl1/Query1.RecordCount;

      srbl2:=sbl2/Query1.RecordCount;

      Query1.First;

      for i:=1 to Query1.RecordCount do

        begin

           block1:=Query1.FieldValues['MARK1']+Query1.FieldValues['MARK2']+Query1.FieldValues['MARK3'];

           block2:=Query1.FieldValues['MARK4']+Query1.FieldValues['MARK5']+Query1.FieldValues['MARK6'];

           dx1:=dx1+sqr(block1-srbl1);

           dx2:=dx2+sqr(block2-srbl2);

           Query1.Next;

        end;

      sdxq1:=dx1/Query1.RecordCount;

      sdxq2:=dx2/Query1.RecordCount;

      sigm1:=sqrt(sdxq1);

      sigm2:=sqrt(sdxq2);

      m:=StrToFloat(maxb);

      kn[1]:=((m-srbl1)*((m-srbl1)*srbl1-sqr(sigm1))/(m*sqr(sigm1)-(m-srbl1)*srbl1))-1;

      kp[1]:=1-((srbl1*((m-srbl1)*srbl1-sqr(sigm1)))/(m*sqr(sigm1)-(m-srbl1)*srbl1));

      kn[2]:=((m-srbl2)*((m-srbl2)*srbl2-sqr(sigm2))/(m*sqr(sigm2)-(m-srbl2)*srbl2))-1;

      kp[2]:=1-((srbl2*((m-srbl2)*srbl2-sqr(sigm2)))/(m*sqr(sigm2)-(m-srbl2)*srbl2));

      Series3.Clear;

      for i:=1 to 2 do

      Series3.AddXY(kn[i],kp[i]);

    end;

    if MCon='1' then

     begin

      for i:=1 to Query1.RecordCount do

        begin

          block1:=Query1.FieldValues['SUMMARK'];

          sbl1:=sbl1+block1;

          Query1.Next;

        end;

      srbl1:=sbl1/Query1.RecordCount;

      Query1.First;

      for i:=1 to Query1.RecordCount do

        begin

           block1:=Query1.FieldValues['SUMMARK'];

           dx1:=dx1+sqr(block1-srbl1);

           Query1.Next;

        end;

      sdxq1:=dx1/Query1.RecordCount;

      sigm1:=sqrt(sdxq1);

      m:=StrToFloat(maxb);

      kn[1]:=((m-srbl1)*((m-srbl1)*srbl1-sqr(sigm1))/(m*sqr(sigm1)-(m-srbl1)*srbl1))-1;

      kp[1]:=1-((srbl1*((m-srbl1)*srbl1-sqr(sigm1)))/(m*sqr(sigm1)-(m-srbl1)*srbl1));

      Series3.AddXY(kn[1],kp[1]);

    end;

    if MCon='3' then

     begin

      for i:=1 to Query1.RecordCount do

        begin

          block1:=Query1.FieldValues['MARK1']+Query1.FieldValues['MARK2'];

          block2:=Query1.FieldValues['MARK3']+Query1.FieldValues['MARK4'];

          block3:=Query1.FieldValues['MARK5']+Query1.FieldValues['MARK6'];

          sbl1:=sbl1+block1;

          sbl2:=sbl2+block2;

          sbl3:=sbl3+block3;

          Query1.Next;

        end;

      srbl1:=sbl1/Query1.RecordCount;

      srbl2:=sbl2/Query1.RecordCount;

      srbl3:=sbl3/Query1.RecordCount;

      Query1.First;

      for i:=1 to Query1.RecordCount do

        begin

           block1:=Query1.FieldValues['MARK1']+Query1.FieldValues['MARK2'];

           block2:=Query1.FieldValues['MARK3']+Query1.FieldValues['MARK4'];

           block3:=Query1.FieldValues['MARK5']+Query1.FieldValues['MARK6'];

           dx1:=dx1+sqr(block1-srbl1);

           dx2:=dx2+sqr(block2-srbl2);

           dx3:=dx3+sqr(block3-srbl3);

           Query1.Next;

        end;

      sdxq1:=dx1/Query1.RecordCount;

      sdxq2:=dx2/Query1.RecordCount;

      sdxq3:=dx3/Query1.RecordCount;

      sigm1:=sqrt(sdxq1);

      sigm2:=sqrt(sdxq2);

      sigm3:=sqrt(sdxq3);

      m:=StrToFloat(maxb);

      kn[1]:=((m-srbl1)*((m-srbl1)*srbl1-sqr(sigm1))/(m*sqr(sigm1)-(m-srbl1)*srbl1))-1;

      kp[1]:=1-((srbl1*((m-srbl1)*srbl1-sqr(sigm1)))/(m*sqr(sigm1)-(m-srbl1)*srbl1));

      kn[2]:=((m-srbl2)*((m-srbl2)*srbl2-sqr(sigm2))/(m*sqr(sigm2)-(m-srbl2)*srbl2))-1;

      kp[2]:=1-((srbl2*((m-srbl2)*srbl2-sqr(sigm2)))/(m*sqr(sigm2)-(m-srbl2)*srbl2));

      kn[3]:=((m-srbl3)*((m-srbl3)*srbl3-sqr(sigm3))/(m*sqr(sigm3)-(m-srbl3)*srbl3))-1;

      kp[3]:=1-((srbl3*((m-srbl3)*srbl3-sqr(sigm3)))/(m*sqr(sigm3)-(m-srbl3)*srbl3));

      Series3.Clear;

      for i:=1 to 3 do

      Series3.AddXY(kn[i],kp[i]);

    end;

   m:=0;

   Series6.Clear;

     for i:=0 to 20 do

        begin

           Series6.AddXY(m,-1*m);

           m:=m+2;

        end;

end;

end.

Ìîäóëü 7.

Ýòîò ìîäóëü íîñèò âñïîìîãàòåëüíûé õàðàêòåð. Îí íåîáõîäèì äëÿ ïðàâèëüíîãî îêðóãëåíèÿ äåñÿòè÷íûõ ÷èñåë ñ óêàçàííîé ñòåïåíüþ òî÷íîñòè.

unit foxsoft;

interface

uses SysUtils;

 function Okrugl(cs:double;numb:integer):double;

implementation

 function Okrugl(cs:Double;numb:integer):double;

  var

   db,db1,db2:double;

   i:int64;

   ii,ink,i1:integer;

   st:string;

  begin

   db:=db-int(cs);

   ink:=1;

   for ii:=1 to numb do ink:=ink*10;

   db1:=db*ink;

   db2:=cs*ink*100;

   i:=trunc(int(db2)/100);

   i1:=Trunc(db2-i*100);

   if i1>49 then inc(i);

   Result:=i/ink;

  end;

end.

Ëèòåðàòóðà.

1.   Êèðüÿêîâ Á. Ñ.  Ïåäàãîãè÷åñêàÿ ìîäåëü èíòåëëåêòóàëüíîãî èñïûòàíèÿ øêîëüíèêîâ. – Ðÿçàíü: Èçä-âî «Ðóññêîå ñëîâî», 2002.

2.   Êèðüÿêîâ Á. Ñ. Ïåäàãîãè÷åñêàÿ ìîäåëü èíòåëëåêòóàëüíîãî èñïûòàíèÿ ó÷àùèõñÿ/Âåñòíèê Ðÿçàíñêîãî ãîñóäàðñòâåííîãî ïåäàãîãè÷åñêîãî óíèâåðñèòåòà. Ðÿçàíü: ÐÃÏÓ, 2001.

3.   Øàðàïêîâ À. Í., Êèðüÿêîâ Á. Ñ. Èññëåäîâàíèå ãóìàííîñòè ðåæèìà ñîðåâíîâàíèÿ íà îëèìïèàäàõ øêîëüíèêîâ. // Ðÿçàíñêèå ôèçè÷åñêèå îëèìïèàäû // Ðÿçàíü: «ÐÈÍÔλ, 2000. Âûïóñê 8.

4.   Êèðüÿêîâ Á. Ñ. Ïðîáëåìû ïðîâåäåíèÿ îëèìïèàä â óñëîâèÿõ äèôôåðåíöèàöèè óðîâíÿ ïîäãîòîâêè øêîëüíèêîâ // Ðÿçàíñêèå ôèçè÷åñêèå îëèìïèàäû// Âûïóñê 8, – Ðÿçàíü: Èçä-âî «ÐÈÍÔλ, 2000.

5.   Êèðüÿêîâ Á. Ñ. Ïàðàìåòðû èíòåëëåêòóàëüíîãî èñïûòàíèÿ ó÷àùèõñÿ íà îëèìïèàäå// Ðÿçàíñêèå ôèçè÷åñêèå îëèìïèàäû// Âûïóñê 9, – Ðÿçàíü, 2001.

6.   Ëèøåð Ð. Delphi. Ñïðàâî÷íèê. – Ïåð. ñ àíãë. – ÑÏá.: «Ñèìâîë-Ïëþñ», 2001.

7.   Ôàðîíîâ Â. Â. Delphi 5. Ðóêîâîäñòâî ïðîãðàììèñòà. – Ì.: «Íîëèäæ», 2001.

8.   Îçåðîâ Â. Delphi. Ñîâåòû ïðîãðàììèñòîâ. – ÑÏá.: «Ñèìâîë-Ïëþñ», 2003.


Ñòðàíèöû: 1, 2, 3, 4, 5


íà òåìó ðåôåðàòû
ÍÎÂÎÑÒÈ íà òåìó ðåôåðàòû
íà òåìó ðåôåðàòû
ÂÕÎÄ íà òåìó ðåôåðàòû
Ëîãèí:
Ïàðîëü:
ðåãèñòðàöèÿ
çàáûëè ïàðîëü?

íà òåìó ðåôåðàòû    
íà òåìó ðåôåðàòû
ÒÅÃÈ íà òåìó ðåôåðàòû

Ðåôåðàòû áåñïëàòíî, ðåôåðàò áåñïëàòíî, êóðñîâûå ðàáîòû, ðåôåðàò, äîêëàäû, ðåôåðàòû, ðåôåðàòû ñêà÷àòü, ðåôåðàòû íà òåìó, ñî÷èíåíèÿ, êóðñîâûå, äèïëîìû, íàó÷íûå ðàáîòû è ìíîãîå äðóãîå.


Copyright © 2012 ã.
Ïðè èñïîëüçîâàíèè ìàòåðèàëîâ - ññûëêà íà ñàéò îáÿçàòåëüíà.