Pascal. ОООЧЕНЬ СРОЧНО! Заданы 5 дробных чисел. Первые два - (a, b) это координаты центра круга в декартовой системе координат. Вторая пара - (x,y) это координаты точки. Пятое число - (r) это радиус круга. Требуется написать фу...
Pascal. ОООЧЕНЬ СРОЧНО!
Заданы 5 дробных чисел. Первые два - (a, b) это координаты центра круга в декартовой системе координат. Вторая пара - (x,y) это координаты точки. Пятое число - (r) это радиус круга. Требуется написать функцию, которая определила бы, находится ли эта точка внутри круга или на его границе. Заранее спасибо!
Ответ(ы) на вопрос:
Гость
function ptcrk(a,b,x,y,r: real): integer;
var k: integer;
begin
k:=0;
if abs(sqr(x-a)+sqr(y-b)-r*r)<1.0e-9 then k:=1;
if r*r-sqr(x-a)-sqr(y-b)>1.0e-9 then k:=2;
ptcrk:=k;
end;
// основная программа
var a,b,x,y,r,k: real;
begin
write('координаты центра a b: '); readln(a,b);
write('координаты точки x y: '); readln(x,y);
write('радиус: '); readln(r);
k:=ptcrk(a,b,x,y,r);
if k=1 then writeln('точка на окружности');
if k=2 then writeln('точка внутри круга');
if k=0 then writeln('точка вне круга');
end.
координаты центра a b: 2 1
координаты точки x y: 4 1
радиус: 2.1
точка внутри круга
координаты центра a b: 2 1
координаты точки x y: 4 1
радиус: 2
точка на окружности
Не нашли ответ?
Похожие вопросы