PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018Внимание! Если программа не работает, обновите версию!procedure ReadArray(prompt:string; var a:array of integer);begin var n:=a.Length; Writeln('Введите через пробел значения ',prompt); a:=ReadArrInteger(n)end;function Inside(x0,y0,r,x,y:integer):boolean;// попадает ли точка (x,y) внутрь круга, описанного уравнением// (x-x0)^2+(y-y0)^2=r^2begin Result:=Sqr(x-x0)+Sqr(y-y0)<r*rend;procedure Output(x,y:array of integer; x0,y0,r:integer);begin Writeln('Точки,попавшие внутрь окружности'); var k:=0; for var i:=0 to x.Length-1 do if Inside(x0,y0,r,x[i],y[i]) then begin k+=1; Write($'({x[i]},{y[i]}) ') end; if k>0 then Writeln; Writeln('Общее количество точек равно ',k)end;begin var n:=15; var x:=new integer[n]; ReadArray('абсцисс',x); var y:=new integer[n]; ReadArray('ординат',y); Writeln('Окружность радиуса 10 с центром (10;15)'); Output(x,y,10,15,10); Writeln('Окружность радиуса 50 с центром (0;0)'); Output(x,y,0,0,50); Writeln('Окружность радиуса 30 с центром (30;-20)'); Output(x,y,30,-20,30);end.
ПримерВведите через пробел значения абсцисс-46 30 18 38 22 6 16 -11 -45 -42 -5 -5 10 11 35Введите через пробел значения ординат-26 -10 -15 21 45 30 1 47 32 -16 -20 41 -25 -49 -41Окружность радиуса 10 с центром (10;15)Точки,попавшие внутрь окружностиОбщее количество точек равно 0Окружность радиуса 50 с центром (0;0)Точки,попавшие внутрь окружности(30,-10) (18,-15) (38,21) (6,30) (16,1) (-11,47) (-42,-16) (-5,-20) (-5,41) (10,-25) Общее количество точек равно 10Окружность радиуса 30 с центром (30;-20)Точки,попавшие внутрь окружности(30,-10) (18,-15) (16,1) (10,-25) (35,-41) Общее количество точек равно 5