помогите написать программу графики на Паскале
X€[2;5]
∆x=0.3
2)y= {sinx*lnx, x>3.5
cos^2x. x<=3.5
X€[2;5]
∆x=0.25
Код:
procedure PaintGraph( aCanvas : TPaintBox);
const
x1 = 2;
x2 = 5;
y1 = 0;
y2 = 5;
var
dx, dy,
x, y : real;
px, py : integer;
function XC( V : real ) : integer;
begin
Result := Round(dx * (V - x1));
end;
function YC( V : real ) : integer;
begin
Result := Round(aCanvas.Height - dy * (V - y1)); //потому-что Y координата сверху вниз
end;
begin
dx := aCanvas.Width / (x2-x1); // для вычисления координаты пикселя
dy := aCanvas.Height / (y2-y1);
x := x1; y := y1;
aCanvas.Canvas.MoveTo(XC(x), YC(y));
while x < x2 do begin
x := x + 0.3;
y := ваша функция(x);
//вычисляем координаты пикселя для точки
aCanvas.Canvas.LineTo(XC(x), YC(y));
end;
end;
const
x1 = 2;
x2 = 5;
y1 = 0;
y2 = 5;
var
dx, dy,
x, y : real;
px, py : integer;
function XC( V : real ) : integer;
begin
Result := Round(dx * (V - x1));
end;
function YC( V : real ) : integer;
begin
Result := Round(aCanvas.Height - dy * (V - y1)); //потому-что Y координата сверху вниз
end;
begin
dx := aCanvas.Width / (x2-x1); // для вычисления координаты пикселя
dy := aCanvas.Height / (y2-y1);
x := x1; y := y1;
aCanvas.Canvas.MoveTo(XC(x), YC(y));
while x < x2 do begin
x := x + 0.3;
y := ваша функция(x);
//вычисляем координаты пикселя для точки
aCanvas.Canvas.LineTo(XC(x), YC(y));
end;
end;