unit raboty; interface uses sysutils, math, Funcii; type tArrFX = array of extended; procedure FotX(f1:tFuncX; a,b:extended; N:integer; out ArrFX:tArrFX); procedure Integtal(f1:tFuncX; a,b:extended; N:integer; out ArrFX:tArrFX); procedure dF_dX(f1:tFuncX; a,b:extended; N:integer; out ArrFX:tArrFX); procedure d2F_dX2(f1:tFuncX; a,b:extended; N:integer; out ArrFX:tArrFX); procedure Korni(f1:tFuncX; a,b:extended; N:integer; out ArrFX:tArrFX); procedure Extremumy(f1:tFuncX; a,b:extended; N:integer; out ArrFX:tArrFX); implementation procedure FotX(f1:tFuncX; a,b:extended; N:integer; out ArrFX:tArrFX); var h,x: extended; begin h:=(b-a)/N; x:=a; while x <= b do begin setlength(ArrFX, length(ArrFX)+1); ArrFX[high(ArrFX)]:=f1(x); x:=x+h; end; end; procedure Integtal(f1:tFuncX; a,b:extended; N:integer; out ArrFX:tArrFX); var h,x,s: extended; begin h:=(b-a)/N; x:=a; s:=0; while x <= b do begin s:=s+(f1(x)+f1(x+h))*h/2; setlength(ArrFX, length(ArrFX)+1); ArrFX[high(ArrFX)]:=s; x:=x+h; end; end; procedure dF_dX(f1:tFuncX; a,b:extended; N:integer; out ArrFX:tArrFX); var h,x: extended; begin h:=(b-a)/N; x:=a; while x <= b do begin setlength(ArrFX, length(ArrFX)+1); ArrFX[high(ArrFX)]:=(f1(x+h)-f1(x))/h; x:=x+h; end; end; procedure d2F_dX2(f1:tFuncX; a,b:extended; N:integer; out ArrFX:tArrFX); var h,x: extended; begin h:=(b-a)/N; x:=a; while x <= b do begin setlength(ArrFX, length(ArrFX)+1); ArrFX[high(ArrFX)]:=((f1(x+2*h)-f1(x+h))/h -(f1(x+h)-f1(x))/h)/h; x:=x+h; end; end; procedure Korni(f1:tFuncX; a,b:extended; N:integer; out ArrFX:tArrFX); var h,x: extended; begin h:=(b-a)/N; x:=a; while x < b do begin if f1(x)*f1(x+h)<0 then begin setlength(ArrFX, length(ArrFX)+1); ArrFX[high(ArrFX)]:=x; end; x:=x+h; end; end; procedure Extremumy(f1:tFuncX; a,b:extended; N:integer; out ArrFX:tArrFX); var h,x: extended; begin h:=(b-a)/N; x:=a; while x < b do begin if ((f1(x)f1(x+h)) and (f1(x+2*h)>f1(x+h))) then begin setlength(ArrFX, length(ArrFX)+1); ArrFX[high(ArrFX)]:=x+h; end; x:=x+h; end; end; end.