一个小程序,自己编的时候老出错,还望诸位大侠帮忙,
问题(用DELPHI做)已知S1,C1,A1,S2,C2,A2,求S3,C3,A3;其中S1,S2,S3,C1,C2,C3为实数,A1,A2,A3为表示度数的实数,
运算过程如下:1.X=A2-A1的绝对值
2.TAN(2B)=(C2*SIN(2X))/(C1+C2COS(2X))
3.Q=(2B+180)/2
4.SC=C1SINQ*SINQ+C2SIN(X-Q)SIN(X-Q)
5.S3=S1+S2+SC
6.C3=C1+C2-2SC
7.A3=A1+Q如果A3>180,A3=A3-180;如果A3<0,A3=A3+180
拜托各位大侠将源文件发到多谢!!!
祝各位新年快乐!!
问题(用DELPHI做)已知S1,C1,A1,S2,C2,A2,求S3,C3,A3;其中S1,S2,S3,C1,C2,C3为实数,A1,A2,A3为表示度数的实数,
运算过程如下:1.X=A2-A1的绝对值
2.TAN(2B)=(C2*SIN(2X))/(C1+C2COS(2X))
3.Q=(2B+180)/2
4.SC=C1SINQ*SINQ+C2SIN(X-Q)SIN(X-Q)
5.S3=S1+S2+SC
6.C3=C1+C2-2SC
7.A3=A1+Q如果A3>180,A3=A3-180;如果A3<0,A3=A3+180
拜托各位大侠将源文件发到多谢!!!
祝各位新年快乐!!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
procedure Button1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Label2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var s1,s2,s3,c1,c2,c3,sc,y:extended;
a1,a2,a3,x:extended;
begin
s1:=StrToFloat(edit1.Text);
c1:=StrToFloat(edit2.text);
a1:=StrToFloat(edit3.text);s2:=StrToFloat(edit4.text);
c2:=StrToFloat(edit5.text);
a2:=StrToFloat(edit6.text);x:=abs(a2-a1);
y:=(arctan(c2*sin(2*x)/(c1+c2*cos(2*x)))+pi)/2;
sc:=c1*sqr(sin(y))+c2*sqr(sin(x-y));s3:=s1+s2+sc;
c3:=c1+c2-2*sc;
a3:=a1+y;edit7.Text:=floatToStr(s3) ;
edit8.Text:=floatToStr(c3) ;
edit9.Text:=floatToStr(a3) ;
end;procedure TForm1.Edit1Change(Sender: TObject);
beginend;procedure TForm1.Label2Click(Sender: TObject);
beginend;end.