[delphi] function

0

w naglowku w naglowku

delphi>function trapeznadmiar (od1,do1:Double; n:word; f:fx):real;

nie wiem czmeu ale wyskakuje mi blad **Undeclared identifier: 'fx'
*
wiec prosze o pomoc;/..jak sie tego pozbyc

function trapeznadmiar (od1,do1:Double; n:word; f:fx):real;
var i:word; xi,h,Wynik:real;

begin
 Wynik:=0;
 h:=(do1-od1)/n;
  for i:=0 to n-1 do
        begin
         xi:=od1+i*h;
         Wynik:=Wynik+f(xi)*h;
        end;
 nadmiar:=Wynik;
end;



function trapezniedomiar (od1,do1:Double; n:word; f:fx):real;
var i:word; xi,h,Wynik:real;
begin
 Wynik:=0;
 h:=(do1-od1)/n;
  for i:=1 to n do
        begin
         xi:=od1+i*h;
         Wynik:=Wynik+f(xi)*h;
        end;
 niedomiar:=Wynik;
end;

function trapez (od1,do1:Double; n:word; f:fx):real;
var i:word; xi,h,Wynik:real;
begin
 Wynik:=0;
 h:=(do1-od1)/n;
  for i:=1 to n-1 do
        begin
         xi:=od1+i*h;
         Wynik:=Wynik+f(xi);
        end;
       Wynik:=(Wynik + (f(od1)+f(do1))/2)*h;
       trapez:=Wynik;
end;
0

w naglowku w naglowku

 function trapeznadmiar (od1,do1:Double; n:word; f:fx):real; 

Parametr f jest typu fx.
Skąd ci się wziął typ danych fx.

0

wynik z tych funkcji ma byc podstawiany pod f1 ,f2 lub f3

function TForm1.f1(x: Extended): Extended;
begin
 Result:=sqr(x)+ 2;
end;

function TForm1.f2(X: Extended): Extended;
begin
 Result:=3*x - 8;
end;

function TForm1.f3(X: Extended): Extended;
begin
 Result:=sin(x) + Pi;
end;
0

Od razu widać, że skądś to skopiowałeś.
Posługujesz się typem danych fx, który nie występuje w Delphi, i stąd ten błąd.
Rozwiązanie jest proste zadeklaruj ten typ danych i gotowe.

1 użytkowników online, w tym zalogowanych: 0, gości: 1