unit Unit1;Заранее спасибо)
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
RadioGroup1: TRadioGroup;
Button1: TButton;
Label5: TLabel;
Edit4: TEdit;
function fnk(x:real):real;
function Metod1(a,b,e:real):real;
function Metod2(a,b,e:real):real;
function Metod3(a,b,e:real):real;
procedure Button1Click(Sender: TObject);
function ArcTan(x:real):real;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a,b,e,x:real;
implementation
{$R *.dfm}
function Tform1.fnk(x:real):real;
begin
fnk:=(ArcTan(x))/x;
end;
function TForm1.Metod1(a,b,e:real):real;
var i,n:integer;
h,Spred,Stek,Cht,Ncht:real;
begin
n:=16;
h:=(b-a)/n;
Result:=fnk(a)+fnk(b);
Spred:=0;
Repeat
x:=a;
h:=(b-a)/n;
Stek:=0;
Cht:=0;
Ncht:=0;
For i:=1 to n do
begin
if (i mod 2)=0 then
Cht:=Cht+fnk(x)
Else
Ncht:=Ncht+fnk(x);
x:=x+h;
end;
Stek:=h/3*(Result+2*Cht+4*Ncht);
if (abs(Spred-Stek)>e) then
begin
n:=n*2;
Spred:=Stek;
end;
Until (abs(Spred-Stek)<=e);
Metod1:=Stek;
end;
function Tform1.Metod2(a,b,e:real):real;
var n:integer;
Spred,h:real;
begin
n:=2;
h:=b-a;
Result:=fnk(a)*h;
repeat
Spred:=Result;
h:=(b-a)/n;
x:=a;
result:=0;
n:=2*n;
while x<b do
begin
Result:=Result+fnk(x)*h;
x:=x+h;
end;
until abs(Spred-Result)<=e;
Metod2:=Result;
end;
function TForm1.Metod3(a,b,e:real):real;
var Spred,h:real;
i,n:Integer;
begin
h:=b-a;
Result:=(fnk(a)+fnk(b))/2*h;
n:=1;
repeat
Spred:=Result;
h:=h/2;
n:=n*2;
Result:=Result/2;
for i := 1 to n div 2 do
begin
x:=a+h*(i*2-1);
Result:=Result+fnk(x)*h;
end;
until abs(Spred-Result)<=e;
Metod3:=Result;
end;
procedure TForm1.Button1Click(Sender: TObject);
var m:real;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
e:=StrToFloat(Edit3.Text);
Case RadioGroup1.ItemIndex of
0: m:=Metod1(a,b,e);
1: m:=Metod2(a,b,e);
2: m:=Metod3(a,b,e);
end;
Edit4.Text:=FloatToStr(m);
end;
end.
Добавлено через 3 мин.
Про компиляции пишет такие ошибки:
[Error] Unit1.pas(27): Unsatisfied forward or external declaration: 'TForm1.ArcTan'
[Fatal Error] Project1.dpr(5): Could not compile used unit '..\progra\Unit1.pas'