люди кто знает помогите.
нужно напечатать координаты точек, попадающих в заштрихованную фигуру, если координата Х изменяется от -3.5 до 2.5 с шагом dX=0.5, а координата У меняется от -3.6 до 2.4 с шагом dУ=0.4
саму фигуру я сделал, а вот с точками проблема.
program Figura;
uses Graph,Crt;
Const
Xc=320;Yc=240;
var c,Gd,Gm,a,b,a1,b1:Integer;x,y:real;
begin
Gd:=Detect;
InitGraph(Gd,Gm,'c:\bp\bgi');
If GraphResult<>grOk then Halt(1);
Circle(Xc,Yc,100);
Line(40,240,600,240);
Line(320,20,320,460);
OutTextXY(600,220,'X');
OutTextXY(300,20,'Y');
Line(420,100,420,280);{liniy s pravo proxod. 2}
Line(440,80,160,450);{liniy 0:0}
Line(170,450,170,150);{liniy proxod. -3}
Line(380,400,80,100);{y=-x-2}
Line(120,430,370,430);{gorizont. liniy}
Line(310,196,350,196);{ggoriz. 1 }
OutTextXY(425,250,'2');
OutTextXY(300,195,'1');
OutTextXY(300,130,'2');
OutTextXY(330,410,'-3');
OutTextXY(150,250,'-3');
OutTextXY(380,365,'Y^2+X^2=4');
repeat until keypressed
end.
Вот условие на попадание точки в область:
((y<=-x-2)and(x>=-3)and(x<=0)and(y>=-3))or((y>=x)and(x>=0)and(y<=1))or((y<=x)and(sqr(x)+sqr(y)<=4))or((y<=x)and(y>=0)and(x<=2))
Страшное условие
Далее преберай x и y в цикле while или repeat и сверяй попадает ли точка в область.
dagger, тебе же показали условие, при котором точка внутри фигуры? Теперь все просто: Ходи в цикле по всем координатам, и проверяй. Если точка внутри, то рисуй ее другим цветом... Заодно и посчитаешь, сколько точек попадают в фигуру, а сколько нет.