Breaking News
recent

Regulasi False dengan Delphi


//bukan buat contekan ya... buat belajar. Belum tentu benar..


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;

type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
xl,xu,xr,xrnew,fxl,fxu,fxr,E:real;
i:integer;
begin
xl:=strtofloat(edit1.text);
xu:=strtofloat(edit2.text);
fxl:=exp(-xl)-xl;;
fxu:=exp(-xu)-xu;;
xr:=xu-(fxu*((xl-xu)/(fxl-fxu)));
fxr:=exp(-xr)-xr;
e:=0;

i:=1;

stringgrid1.cells[0,i]:=inttostr(i);
stringgrid1.cells[1,i]:=floattostr(xl);
stringgrid1.cells[2,i]:=floattostr(xu);
stringgrid1.cells[3,i]:=floattostr(xr);
stringgrid1.cells[4,i]:=floattostr(fxl);
stringgrid1.cells[5,i]:=floattostr(fxu);
stringgrid1.cells[6,i]:=floattostr(fxr);
stringgrid1.cells[7,i]:=floattostr(e);

if fxl*fxu<0 then
begin
repeat
fxr:=exp(-xr)-xr;
fxl:=exp(-xl)-xl;;
fxu:=exp(-xu)-xu;;

if fxl*fxr<0 then xu:=xr else xl:=xr;

xrnew:=xu-(fxu*((xl-xu)/(fxl-fxu)));
e:=abs((xrnew-xr)/xrnew);
xr:=xrnew;
i:=i+1;

stringgrid1.cells[0,i]:=inttostr(i);
stringgrid1.cells[1,i]:=floattostr(xl);
stringgrid1.cells[2,i]:=floattostr(xu);
stringgrid1.cells[3,i]:=floattostr(xr);
stringgrid1.cells[4,i]:=floattostr(fxl);
stringgrid1.cells[5,i]:=floattostr(fxu);
stringgrid1.cells[6,i]:=floattostr(fxr);
stringgrid1.cells[7,i]:=floattostr(e);

stringgrid1.RowCount:=i+1;

until e<0.0001;
end
else showmessage('Akar di luar interval');

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
stringgrid1.cells[0,0]:='No.';
stringgrid1.cells[1,0]:='xl';
stringgrid1.cells[2,0]:='xu';
stringgrid1.cells[3,0]:='xr';
stringgrid1.cells[4,0]:='fxl';
stringgrid1.cells[5,0]:='fxu';
stringgrid1.cells[6,0]:='fxr';
stringgrid1.cells[7,0]:='e';
end;

end.

No comments:

Powered by Blogger.