假设让Y=(e^a).(sinX)(文字表达:即e的a次方与X正弦值的乘积,a和x都是变量)
用DELPHI如何来计算呢?谢谢

解决方案 »

  1.   


    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Math;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
            y: real;
    begin
            y := Power(2,2) * Sin(PI/2);    //uses Math;
            showmessage(floatToStr(y));
    end;end.
      

  2.   

    到底是要表达式解析还是算法了,没说清。表达式解析可以参考lex,有yacc是支持Object Pascal的,解析后的计算使用二叉树和Delphi自身的函数计算,e^a是EXP,Sin函数是有的。如果是算法,例如大数值计算,这两个都需要用到泰勒级数进行计算的了,比较复杂。
      

  3.   

    uses math;Power()函数就是求任意实数的次方;如1.5的10次方:Power(1.5,10);
    Sin()是正弦函数