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 точка на окружности
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 begin var a:=ArrRandomReal(28,0.001,2); a.Println; Writeln(NewLine,'P=',a.Where(x->x<1.0).Aggregate(1.0,(p,x)->p*x)) end.
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
точка на окружности
begin
var a:=ArrRandomReal(28,0.001,2); a.Println;
Writeln(NewLine,'P=',a.Where(x->x<1.0).Aggregate(1.0,(p,x)->p*x))
end.
Тестовое решение
0.0398313784756844 0.521430412644721 1.21896472712139 1.94948843003553 1.15333909315725 0.788220413078657 0.284177359403659 1.78978303515016 0.678028235740042 1.55275635141682 0.189534365820482 0.741079475998916 1.8561824476473 1.56863753180655 1.46180190814184 0.424840159483645 1.72583213937042 1.9121896329998 1.74689281148598 1.49191368740467 0.900698237893031 0.867495573381193 1.51968024434926 1.28361295387922 0.144896066409953 0.40525055964489 0.897010715250862 1.71948831971571
P=7.74656862552087E-06