Показать сообщение отдельно
  #9  
Старый 16.09.2011, 02:57
chainik chainik вне форума
Начинающий
 
Регистрация: 30.06.2008
Сообщения: 140
Репутация: 8882
По умолчанию задача 1 задание 09

Пояснение
Всю фигуру разбиваем на области
1- ограничена y=-x-3, x < -1.5 и ниж часть окружн
2- x > -1.5 and x <0, y=x и ниж часть окружн
3- x >0 and x <1, y <x-3 и ниж часть окружн
4- x > 1 и огранич окружностью
Затем тупо перебираем все точки и проверяем условие

Код:
program Project1;

{$APPTYPE CONSOLE}

const
DeltaY=0.4;
DeltaX=0.5;
R=3;

var
x,y:extended;



begin
y:=-3.6;
    repeat
    x:=-4;
        repeat
        if (R >= abs(x)) and
{1}          (((x<= -1.5) and (y <= -x-3) and (y >= -sqrt(R*R-x*x))) or
{2}          ((x> -1.5) and (x <=0) and (y<=x) and (y >= -sqrt(R*R-x*x))) or
{3}             ((x> 0) and (x <=1) and (y <=x-3) and (y >= sqrt(R*R-x*x))) or
{4}             ((x >1) and (x <=3) and (y <= sqrt(R*R-x*x)) and (y >= -sqrt(R*R-x*x)))) then
                writeln(x,'    ',y);
        x:=x+DeltaX
        until (x >=3.5);
    y:=y+deltaY;
    until (y >=3);

readln;
end.
Ответить с цитированием