Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Исходники и статьи
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.05.2011, 23:22
patrickblez patrickblez вне форума
Прохожий
 
Регистрация: 16.05.2011
Сообщения: 1
Репутация: 10
По умолчанию Интегральная показательная вещественная функция E1(x)

Вот набросок для паскаля =)
Код:
program veschestvennaya_integralnaya_pokazatelnaya_funciya;
uses sysutils;
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;
writeln("veschestvennaya integralnaya pokazatelnaya funciya E1(x)");
writeln("x=");
read(x);
e2:=(((x+a4)*x+a3)*x+a2)*x+a1;
if 0>x then writeln("ERROR - X can no be < 0");
if (0<x) and (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)
end;
writeln("E(x)=";e1);
end.
Вродь нормально, возможна ошибка в коде... Писал с головы =)
Изначально это мне нужно подшить на форму в дельфи для курсового проекта. Если не в лом, то подшейте к форме и скиньте на мыло - Patrickblez@gmail.com =)))) СпС =)))
Если скинете, то допишу курсак и выдам в свободную скачку.
Вот вам курсак на другую тему: http://depositfiles.com/files/n5nbvwfzs как гарант того что не просто розвожу на курсовую =)
Ответить с цитированием
  #2  
Старый 17.05.2011, 02:04
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия 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.

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


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:00.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter