Приложение. Исходный код системы (по модулям).

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.

Перейти на страницу: 5 6 7 8 9 10