Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Buttons, StdCtrls;
type
TForm1 = class(TForm)
button2: TButton;
button3: TButton;
button4: TButton;
button5: TButton;
button6: TButton;
pic1: TPaintBox;
procedure button2Click(Sender: TObject);
procedure button3Click(Sender: TObject);
procedure button4Click(Sender: TObject);
procedure button5Click(Sender: TObject);
procedure button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.button2Click(Sender: TObject);
var xg,yg,xgmax,xgmin,ygmax,ygmin:Integer;
x,h,y,xmax,ymax,xmin,ymin:real;
i:Integer;
begin
xmin:=-4;
xmax:=4;
ymin:=-4;
ymax:=4;
xgmin:=0;
xgmax:=250;
ygmin:=180;
ygmax:=0;
h:=0.1;
x:=0.1;
y:=(x*x)-x+1;
xg:=xgmin+TRUNC((xgmax-xgmin)*(x-xmin)/(xmax-xmin));
xg:=ygmin+TRUNC((ygmax-ygmin)*(y-ymin)/(ymax-ymin));
pic1.Canvas.MoveTo(xg,yg);
while x<=xmax do begin
x:=x+h;
y:=(x*x)-x+1;
xg:=xgmin+TRUNC((xgmax-xgmin)*(x-xmin)/(xmax-xmin));
yg:=ygmin+TRUNC((ygmax-ygmin)*(y-ymin)/(ymax-ymin));
pic1.Canvas.LineTo(xg,yg);
end;
end;
procedure TForm1.button3Click(Sender: TObject);
var xg,yg,xgmax,xgmin,ygmax,ygmin:Integer;
x,h,y,xmax,ymax,xmin,ymin:real;
i:Integer;
begin
xmin:=-4;
xmax:=4;
ymin:=-4;
ymax:=4;
xgmin:=0;
xgmax:=250;
ygmin:=180;
ygmax:=0;
h:=0.1;
x:=0.1;
y:=2*x-1;
xg:=xgmin+TRUNC((xgmax-xgmin)*(x-xmin)/(xmax-xmin));
yg:=ygmin+TRUNC((ygmax-ygmin)*(y-ymin)/(ymax-ymin));
pic1.Canvas.MoveTo(xg,yg);
while x<=xmax do begin
x:=x+h;
y:=2*x-1;
xg:=xgmin+TRUNC((xgmax-xgmin)*(x-xmin)/(xmax-xmin));
yg:=ygmin+TRUNC((ygmax-ygmin)*(y-ymin)/(ymax-ymin));
pic1.Canvas.LineTo(xg,yg);
end;
end;
procedure TForm1.button4Click(Sender: TObject);
var xg,yg,xgmax,xgmin,ygmax,ygmin:Integer;
x,h,y,xmax,ymax,xmin,ymin:real;
i:Integer;
begin
xmin:=-4;
xmax:=4;
ymin:=-4;
ymax:=4;
xgmin:=0;
xgmax:=250;
ygmin:=180;
ygmax:=0;
h:=0.1;
x:=0.1;
y:=1/((x*x)-x+1);
xg:=xgmin+TRUNC((xgmax-xgmin)*(x-xmin)/(xmax-xmin));
yg:=ygmin+TRUNC((ygmax-ygmin)*(y-ymin)/(ymax-ymin));
pic1.Canvas.MoveTo(xg,yg);
while x<=xmax do begin
x:=x+h;
y:=1/((x*x)-x+1);
xg:=xgmin+TRUNC((xgmax-xgmin)*(x-xmin)/(xmax-xmin));
yg:=ygmin+TRUNC((ygmax-ygmin)*(y-ymin)/(ymax-ymin));
pic1.Canvas.LineTo(xg,yg);
end;
end;
procedure TForm1.button5Click(Sender: TObject);
begin
pic1.Color:=clWindow;
pic1.Color:=clGreen;
end;
procedure TForm1.button6Click(Sender: TObject);
begin
pic1.Canvas.Pen.Color:=clBlack;
pic1.Canvas.MoveTo(1,1);
pic1.Canvas.LineTo(1,250);
pic1.Canvas.MoveTo(0,190);
pic1.Canvas.LineTo(250,190);
pic1.Canvas.Pen.Color:=clred;
end;
end.