Построить график функции y=| x| . На экране отобразить и подписать оси координат x, y — Pascal(Паскаль)

uses crt,graph;
var gd,gm,x0,y0,i,xi,yi:integer;
    xn,xk,mx,my,x,y:real;
    s:string;
begin
gd:=0;
initgraph(gd,gm,'');
x0:=getmaxX div 2;
y0:=getmaxY-40;
outtextXY(80,20,'Grafik functii y=|x|');
outtextXY(80,30,'na intervale [-6,6]');
{интервал графика}
xn:=-6;
xk:=6;
{масштабы по осям}
mx:=(x0*2-40)/(xk-xn);
my:=(y0-20)/xk;
{ось Х}
line(0,y0,getmaxX,y0);
outtextXY(x0+5,y0+10,'0');
outtextXY(x0+round(xk*mx)+5,y0-15,'X');
for i:=1 to round(xk) do
 begin
  str(i,s);
  line(x0+round(i*mx),y0+3,x0+round(i*mx),y0-3);
  outtextXY(x0+round(i*mx)+5,y0+10,s);
  line(x0-round(i*mx),y0+3,x0-round(i*mx),y0-3);
  outtextXY(x0-round(i*mx)-5,y0+10,'-'+s);
 end;
{Ось У}
line(x0,y0,x0,10);
outtextXY(x0-10,10,'Y');
for i:=1 to round(xk) do
 begin
  str(i,s);
  line(x0+3,y0-round(i*my),x0-3,y0-round(i*my));
  outtextXY(x0-15,y0-round(i*my),s);
 end;
{график}
x:=xn;
while x<=xk do
 begin
  xi:=x0+round(x*mx);
  y:=abs(x);
  yi:=y0-round(y*my);
  putpixel(xi,yi,12);
  x:=x+0.001;
 end;
readln
end.

Leave a Comment

78 + = 85