17.05.2011, 02:04
|
Модератор
|
|
Регистрация: 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.
ЗЫ. Формулы все твои.
ЗЗЫ. Ну немножко оптимизировал на условиях.
|