


Информатика Лазарус Метод Ньютона
Как сделать чтобы код заработал в лазарус для формы, он работал по крайней мере для паскаля просто до перекройки, нужна помощь по этому коду.
нам дали задание а как что делать не обьяснили, я и метод этот впервые вижу
вот код:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
StaticText1: TStaticText;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
x,x1,x2,dx,x11,x12,eps:real;
i:integer;
implementation
function f1(x: real): real;
begin
f1:=(sqr(x)/10)-x*ln(x);
end;
function f2(x:real): real;
begin
f2:=(x/5)+ln(x)-1;
end;
function Newton(a,b,e:real):real;
begin
if f1(a)*f2(a)>0 then x:=a
else x:=b;
while abs(f1(x))>e do
begin
x:=x-f1(x)/f2(x);
end;
Newton:=x;
end;
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
begin
x1:=-2*pi; {весь интервал для поиска корней}
x2:=2*pi;
dx:=0.1;{шаг движения по интервалу}
eps:=0.001; {точность вычислкения корня}
x:=x1;
i:=0;
while x<=x2 do {движемся слева направо}
begin
x11:=x;
x12:=x+dx;
if F1(x11)*F1(x12)<0 then{если знаки функции на концах малого интервала разные}
begin
i:=i+1; {есть корень}
edit1.text:=FloatToStrf(i,ffFixed,8,7);
end;
x:=x+dx;{к новому интервалу размером 0.1}
end;
end;
end;
end.
что-то мне не по глазам: а где Newton-то вызывается?