Построить на экране множество точек, координаты которых удовлетворяют следующим неравенствам: y>x2-4x+3; y

uses graph;
function F1(x:real):real;
begin
F1:=x*x-4*x+3;
end;
function F2(x:real):real;
begin
F2:=x*x+4*x+3;
end;
var xn,xk,x,y1,y2,mx,my,dx:real;
    x0,y0,i,px,py:integer;
    s:string;
begin
x0:=0;
initgraph(x0,y0,'');
x0:=getmaxX div 2;{центр экрана}
y0:=getmaxY-80;
xn:=-5;xk:=5;{интервал по Х}
mx:=620/(xk-xn);{масштаб по Х}
my:=(y0-20)/F1(xn);{по У}
setbkcolor(15);{цвет фона}
setcolor(8);{цвет линий}
line(0,y0,getmaxX,y0);{оси}
line(x0,0,X0,getmaxY);
for i:=1 to round(xk-xn)+1 do{максимальное количество засечек в одну сторону}
  begin
    line(x0-3,y0+round(10*i*my),x0+3,y0+round(10*i*my));{засечки на оси У}
    line(x0-3,y0-round(10*i*my),x0+3,y0-round(10*i*my));
    line(x0+round(i*mx),y0-3,x0+round(i*mx),Y0+3); {засечки на оси Х}
    line(x0-round(i*mx),y0-3,x0-round(i*mx),Y0+3);
    str(i*10,s);
    {подпись оси У}
    outtextXY(x0-15,y0+round(10*i*my),'-'+s);{соответственно засечкам}
    outtextXY(x0-15,y0-round(10*i*my),s);
    {подпись оси Х}
    str(i,s);
    outtextXY(x0+round(i*mx),y0+10,s);
    outtextXY(x0-round(i*mx),y0+10,'-'+s);
  end;
{центр}
outtextXY(x0+5,y0+10,'0');
{подписи концов осей}
outtextXY(getmaxX-10,y0-10,'X');
outtextXY(x0-10,10, 'Y');
{график}
x:=xn;
dx:=0.001;
while x<=xk do
   begin
     x:=x+dx; {наращиваем х}
     px:=x0+round(x*mx); {изменение по оси Х}
     y1:=F1(x); {1 график в реальных координатах}
     py:=y0-round(y1*my);{в экранных}
     putpixel(px,py,1);
     y2:=F2(x); {2 график в реальных координатах}
     py:=y0-round(y2*my);{в экранных}
     putpixel(px,py,4);
     if y1<y2 then{область по определению}
     for i:=round(y1*my)+1 to round(y2*my)-1 do
     putpixel(px,y0-round(i),11);
   end;
readln
end.

Leave a Comment

71 − 67 =