Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2011, 19:05   #1
olegozavr
 
Регистрация: 18.01.2011
Сообщений: 4
По умолчанию передача функции как параметра в модуль

Как правильно передать в модуль функцию? собственно нужно вычислить интеграл методом Ньютона. Функции заданы в основной программе, откомпилированы в дальней модели памяти. В модуле прописана функция для вычисления интеграла, которая использует функции из основной программы. Такое реализовать можно ли?
Вот модуль:
Код:
unit ras4et;
 interface
  type
    func=function(x:integer):real;
  function integ_new(fxx:func;ax,bx,itx:integer):real;
  
implementation
function integ_new(fxx:func;ax,bx,itx:integer):real;
     var
       h,i:integer;
       s,s2,s1:real;
    begin
      h:=(bx-ax) div itx;
      for i:=1 to itx do
      begin

       if (i mod 3=0)and(i<=itx-3) then s1:=s1+fxx(ax+i*h);
       if not(i mod 3=0)and(i<=itx-1) then s2:=s2+fxx(ax+i*h);
       s:=(3/8)*h*(fxx(ax)+fxx(bx)+2*s1)+3*s2;
       integ_new:=s;
       end;
    end;
       begin
       end.
Вот сама программа, она не компилируется, т.к. в функциях fx и fx1 не указаны параметры... и в этом то и загвоздка.
Код:
program inte;
  uses ras4et;
  type
    tfunc=function(x:integer):real;
  var
    i:integer;
function fx(x:integer):real;
  far;
    var
      s:real;
    begin
      s:=(ln(x)/x)*(ln(x)/x)*(ln(x)/x);
      fx:=s;
    end;
  function fx1(x:integer):real;
    far;
    var
      s:real;
    begin
      s:=(x*x*x)/(3+x);
      fx1:=s;
    end;  

begin
    writeln(integ_new(fx,1,2,120),'1 Ё*в');
    writeln(integ_new(fx1,1,2,150),'2 Ё*в');
end.
olegozavr вне форума Ответить с цитированием
Старый 13.02.2011, 22:33   #2
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Это что за ипостась Паскаля ?
mss вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметра функции FredPerry Общие вопросы C/C++ 2 29.12.2010 06:46
Передача функции как параметра ezus Общие вопросы C/C++ 2 24.08.2009 10:19
Функции. Передача массива в качестве параметра функции. Wia Помощь студентам 2 17.03.2009 14:57
Передача компонента как параметра в функцию hayhay Microsoft Office Excel 1 11.03.2008 15:53