unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Label1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
x: Double;
xg, yg, i: Integer;
begin
// 1. Рисуем оси координат
Form1.Canvas.MoveTo(400, 20);
Form1.Canvas.LineTo(400, 320);
Form1.Canvas.MoveTo(5, 170);
Form1.Canvas.LineTo(420, 170);
// 2. Наносим засечки и подписи на ось X
Form1.Canvas.MoveTo(10, 165);
Form1.Canvas.LineTo(10, 175);
Form1.Canvas.TextOut(10, 180, '-2п');
Form1.Canvas.MoveTo(108, 165);
Form1.Canvas.LineTo(108, 175);
Form1.Canvas.TextOut(108, 180, '-3/2п');
Form1.Canvas.MoveTo(205, 165);
Form1.Canvas.LineTo(205, 175);
Form1.Canvas.TextOut(205, 180, '-п');
Form1.Canvas.MoveTo(303, 165);
Form1.Canvas.LineTo(303, 175);
Form1.Canvas.TextOut(303, 180, '-п/2');
// 3. Наносим засечки и подписи на ось Y
Form1.Canvas.MoveTo(395, 40);
Form1.Canvas.LineTo(405, 40);
Form1.Canvas.TextOut(415, 30, '1');
Form1.Canvas.MoveTo(395, 105);
Form1.Canvas.LineTo(405, 105);
Form1.Canvas.TextOut(410, 100, '0,5');
Form1.Canvas.TextOut(405, 175, '0');
Form1.Canvas.MoveTo(395, 235);
Form1.Canvas.LineTo(405, 235);
Form1.Canvas.TextOut(410, 235, '-0,5');
Form1.Canvas.MoveTo(395, 300);
Form1.Canvas.LineTo(405, 300);
Form1.Canvas.TextOut(415, 295, '-1');
// 4. Рисуем стрелки осей
Form1.Canvas.MoveTo(400, 20);
Form1.Canvas.LineTo(405, 25);
Form1.Canvas.MoveTo(400, 20);
Form1.Canvas.LineTo(395, 25);
Form1.Canvas.TextOut(380, 20, 'Y');
Form1.Canvas.MoveTo(420, 170);
Form1.Canvas.LineTo(415, 165);
Form1.Canvas.MoveTo(420, 170);
Form1.Canvas.LineTo(415, 175);
Form1.Canvas.TextOut(435, 170, 'X');
// 5. Заголовок
Form1.Canvas.TextOut(20, 20, 'y=sin (2x+1)');
// 6. Вычисление точек и построение графика
x := -2 * Pi;
for i := 0 to 390 do
begin
xg := 400 + Round((195 / Pi) * x);
yg := 170 - Round(130 * Sin(2 * x + 1));
Form1.Canvas.Pixels[xg, yg] := clBlack;
x := x + Pi / 195;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
end;
end.