Показать сообщение отдельно
  #2  
Старый 17.05.2011, 02:04
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

И в чем проблема?

Создаем форму. На нее кидаем TEdit и TButton.
Далее двойной щелчек по TButton и делаем так:
Код:
procedure TForm1.Button1Click(Sender : TObject);
var
  x,a1,a2,a3,a4,b1,b2,b3,b4,c1,c2,c3,c4,c5,c6,e1,e2:real;
begin
  a1:=0.2677737343;
  a2:=8.6347608925;
  a3:=18.0590169730;
  a4:=8.5733287491;
  b1:=3.9584969228;
  b2:=21.0996530827;
  b3:=25.6329561486;
  b4:=9.5733223454;
  c1:=0.57721566;
  c2:=0.99999193;
  c3:=-0.24991055;
  c4:=0.05519968;
  c5:=-0.0097004;
  c6:=0.00107857;

  x := StrToFloat(Edit1.Text);
  If (x < 0) Then 
     Begin
       ShowMessage('x should be greater than 0!')
       Exit;
    End;

  e2:=(((x+a4)*x+a3)*x+a2)*x+a1;
  If (x<1) 
    Then e1:=-log(x)-c1+((((c6*x-c5)x+c4)*x-c3)*x+c2)*x
    Else e1:=exp(-x)*e2/x/((((x+b4)*x+b3)*x+b2)*x+b1)
  ShowMessage('E(x)=' + FloatToStr(e1));
end.

ЗЫ. Формулы все твои.
ЗЗЫ. Ну немножко оптимизировал на условиях.
Ответить с цитированием