一个小程序,自己编的时候老出错,还望诸位大侠帮忙,
问题(用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
拜托各位大侠将源文件发到多谢!!!
祝各位新年快乐!!

解决方案 »

  1.   

    unit a1;interfaceuses
      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.