如何用Delphi来实现这个公式计算

解决方案 »

  1.   


    unit TestCalMathMain;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters,
      cxContainer, cxEdit, StdCtrls, cxTextEdit, cxMaskEdit, cxSpinEdit, acPNG,
      ExtCtrls;type
      TForm1 = class(TForm)
        Image1: TImage;
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        Label5: TLabel;
        cxSpinEdit_S: TcxSpinEdit;
        cxSpinEdit_L: TcxSpinEdit;
        cxSpinEdit_r: TcxSpinEdit;
        cxSpinEdit_σ: TcxSpinEdit;
        cxSpinEdit_T: TcxSpinEdit;
        Button1: TButton;
        Label_d1: TLabel;
        Label_d2: TLabel;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      d1, d2: Double;
    begin
      d1 := (ln(cxSpinEdit_S.Value / cxSpinEdit_L.Value) + ((cxSpinEdit_r.Value + (0.5 * sqr(cxSpinEdit_σ.Value)))
            * cxSpinEdit_T.Value)) / (cxSpinEdit_σ.Value * sqrt(cxSpinEdit_T.Value));
      Label_d1.Caption := format('d1 = %.4f', [d1]);
      d2 := (ln(cxSpinEdit_S.Value / cxSpinEdit_L.Value) + ((cxSpinEdit_r.Value - (0.5 * sqr(cxSpinEdit_σ.Value)))
            * cxSpinEdit_T.Value)) / (cxSpinEdit_σ.Value * sqrt(cxSpinEdit_T.Value));
      Label_d2.Caption := format('d2 = %.4f', [d2]);
    end;
      

  2.   

    就是把公式翻译成Delphi语句的过程