
31.05.2012, 22:25
|
Прохожий
|
|
Регистрация: 12.12.2011
Сообщения: 27
Репутация: 10
|
|
Наконец удалось . частично . Считает только один корень и почему -то не выводит в chart !
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, TeEngine, Series, TeeProcs, Chart;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Chart1: TChart;
Series1: TLineSeries;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Function f(x: extended): extended;
Begin
f:=x*x+x+1;
End;
procedure TForm1.Button1Click(Sender: TObject);
var a,b,e,c,x,h: extended;
begin
series1.clear;
a:=strtofloat(edit1.Text);
b:=strtofloat (edit2.Text);
e:=strtofloat(edit4.Text);
h:=strtofloat(edit3.text);
repeat
c:=(a+b)/2;
if f(a)*f(c)>0 then
a:=c
else
b:=c;
until abs(b-a)<e ;
label1.caption:='Корень = '+floattostr(c);
x:=с;
repeat
x:=x+h;
series1.AddXY(x,f(x));
until abs(b-a)>=e;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.Clear;edit2.Clear;edit3.Clear;edit4.Clear;
end;
end.
|