Составить приложение, которое будет показывать график функции y=x*x+2 — Pascal(Паскаль)

uses  Graph;
var
x1,x2:real;{границы измерения аргумента функции}
y1,y2:real;{значения функции}
x:real;{аргумент функции}
y:real;{знначении функции в точке x}
dx:real;{приращение аргумента}
l,b:integer;{левый нижий угол области вывода графика функции}
w,h:integer;{ширина и высота области вывода графика}
mx,my:real;{масштаб}
x0,y0:integer;{наало координат}
st:string;{изображение числа}
grDriver:integer;
grMode:integer;
ErrCode:integer;
{функция, которую надо построить}
Function f(x:real):real;
 begin
  f:=x*x+2;
 end;
BEGIN
 grDriver:=VGA;
 grMode:=VGAHi;
 InitGraph(grDriver,grMode,'{здесь пишешь адрес, где нах-ся файл bgi}');
 ErrCode:=GraphResult;
 if ErrCode<> grOk then Halt(1);
 l:=300;
 b:=400;
 h:=200;
 w:=200;

 x1:=0;
 x2:=25;
 dx:=0.01;
{найдем макси мин значения фукции}
 y1:=f(x1);
 y2:=f(x1);
 x:=x1;
  repeat
   y:=f(x);
   if y<y1 then y1:=y;
   if y>y2 then y2:=y;
   x:=x+dx;
  until x>=x2;
 my:=h/abs(y2-y1);
 mx:=w/abs(x2-x1);
 x0:=1;
 y0:=b-abs(Round(y1*my));
 Line(l,b,l,b-h);
 Line(x0,y0,x0+w,y0);
 Str(y2:5:1,st);
 OutTextXY(l+5,b-h,st);
 Str(y1:5:1,st);
 OutTextXY(l+5,b,st);
{построение графика}
 x:=x1;
  repeat
   y:=f(x);
   PutPixel(x0+Round(x*mx),y0-Round(y*my),15);
   x:=x+dx;
  until x>=x2;
readln;
CloseGraph;
END.

Leave a Comment

1 + 7 =