unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; procedure Edit1Change(D: real); procedure Edit2Change(dt: real); procedure Edit3Change(dk: real); procedure Edit4Change(Rdm: real); procedure Edit5Change(dd: real); private { Private declarations } public { Public declarations } end; var Form1: TForm1; D,dt,dk,Rdm,dd,Bdsr,b :real; const ar:=0.087; T:=20; Qm:=1.578; Qk:=1.2546; u0:=0.000001256; H:=50; implementation {$R *.dfm} procedure TForm1.Edit1Change(D:real); var i:integer; begin val(edit1.Text,D,i); end; procedure TForm1.Edit2Change(dt:real); var i:integer; begin val(edit2.Text,dt,i); end; procedure TForm1.Edit3Change(dk: real); var i:integer; begin val(edit3.Text,dk,i); end; procedure TForm1.Edit4Change(Rdm: real); var i:integer; begin val(edit4.Text,Rdm,i); end; procedure TForm1.Edit5Change(dd: real); var i:integer; begin val(edit5.Text,dd,i); end; procedure vichisleniya1(); var begin L:=D/1.5; hk:=dd-2*dt-dk; Rsrk:=D/2-b-dt-hk/2; ak:=2*Rsrk*sin(Qk/2); Ldk:=(Rsrk*Qk)/57; Dm:=D-2*(b+dd); bm:=L-(hk+dk+dt)*2; am:=Dm*sin(Qm/2); end; procedure vichisleniya2(); var Bd,B,x,m3,m4,a1,dd1,dd2,G1,G2,G3,G4,Gm,Krazm,Krass :real; begin G1:=u0*bm*Qm/ln((Dm+2dd)/Dm); G2:=0; a1:=(Dm*cos(Qm/114))/2; x:=(dd+Dm/2)*sin(Qm/114)/sin(67.5/57); dd1:=(Rm+dd-Rm*cos(Qm/114)-x*cos(67.5/57); m3:=ln(1+22.5/(57*dd1))/(3.1415*(0.308*dd1/bm+0.52*(1+a1/bm)+a1/dd1); G3:=0.0000004*bm*ln(1+22.5/(57*dd1))*power((0.04+1)/(0.04+m3),1/2); dd2:=dd; a2:=0; m4:=ln(1+45/(57*dd2))/(3.1415*(0.308*dd2/bm+0.52*(1+a2/bm)+a2/dd2); G4:=0.0000004*bm*ln(1+45/(57*dd2))*power(2/(1+m4),1/2); Gm:=(G1+2*(G2+G3/2+G4))/2; Krazm:=Gm*Dm/(am*bm); B:=H*Krazm; Bd:=80.6*Krazm/power(1.69+3844*power(Krazm,2),0.5); Krass:=2*Gm/G1; Bdsr:=2*Bd*sin(Qk/114)/((1+dd/Dm)*Krass*Qk/57); Bm:=Bd*bm*am/(2*b*L) end; procedure priblizhenie(); var begin while Bm<1.82 do begin b:=b-0.01; vichisleniya1(); vichisleniya2(); end; end; begin b:=0.07*D; end.