Определение принадлежности точки кругу с центром в начале координат

ЗАДАЧА

Вводятся координаты (x;y) точки и радиус круга (r). Определить принадлежит ли данная точка кругу, если его центр находится в начале координат.

Будем считать, что точка принадлежит кругу, если находится внутри его или на его окружности.

Из любой точки координатной плоскости можно провести отрезок к началу координат. Если длина этого отрезка больше радиуса круга, то точка лежит за пределами круга и, следовательно, не принадлежит ему. Если же отрезок, соединяющий точку и начало координат, меньше радиуса круга с центром в начале координат или равен ему, то точка будет принадлежать кругу.

Отрезок между любой точкой и нулевой точкой (началом координат) является гипотенузой прямоугольного треугольника, катеты которого равны значениям x и y координаты данной точки.

Таким образом задача сводится по-сути к двум действия:

  1. Нахождение длины отрезка между точкой и началом координат по теореме Пифагора (квадрат длины гипотенузы равен сумме квадратов длин катетов).
  2. Сравнению полученного значения с радиусом круга.

Pascal



Определение принадлежности точки кругу с центром в начале координат паскаль

var x,y,r,h: real;
begin
write('координаты точки: ');
readln(x,y);
write('радиус круга: ');
readln(r);
h := sqrt(x*x + y*y);
if h > r then writeln('Точка не принадлежит кругу')
else writeln('Точка принадлежит кругу');
end.




координаты точки: -1 -2
радиус круга: 5
Точка принадлежит кругу

Язык Си


#include
#include
main() {
float x,y,r,h;
printf("Координаты точки: ");
scanf("%f%f", &x,&y);
printf("Радиус круга: ");
scanf("%f", &r);
h = sqrt(x*x + y*y);
printf("Гипотенуза равна %.2f. ", h);
if (h > r) printf("Точка не принадлежит кругу.\n");
else printf("Точка принадлежит кругу.\n");
}



Координаты точки: 4 5
Радиус круга: 10
Гипотенуза равна 6.40. Точка принадлежит кругу.

Для gcc компилировать с ключом -lm.

Python


Определение принадлежности точки кругу с центром в начале координат Python

from math import sqrt

x = float(input("x="))
y = float(input("y="))
r = float(input("r="))
h = sqrt(x**2 + y**2)
print("Расстояние до точки от начала координат равно %.2f" % h)
if h > r:
print("точка находится за пределами круга")
else:
print("точка принадлежит кругу")



x=10
y=-3
r=5
Расстояние до точки от начала координат равно 10.44
точка находится за пределами круга

КуМир


алг точка_круг
нач
вещ x,y,r,h
вывод "Координаты точки: "
ввод x,y
вывод "Радиус круга: "
ввод r
h := sqrt(x**2 + y**2)
если h > r то вывод "Не принадлежит"
иначе вывод "Принадлежит"
все
кон



Координаты точки: 1.6 -2.1
Радиус круга: 4
Принадлежит

Basic-256


input "x=", x
input "y=", y
input "r=", r
h = sqrt(x^2 + y^2)
if h > r then
print "Не принадлежит"
else
print "Принадлежит"
endif

Подписаться
Уведомить о
guest

1 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Aluminiu
Aluminiu
2 лет назад

# несложно (возвращает True или False)
def point_in_circle(x, y, r):
return r >= sqrt(pow(x, 2) + pow(y, 2)), sqrt(pow(x, 2)+pow(y, 2))

Pascal


Определение принадлежности точки кругу с центром в начале координат паскаль

var x,y,r,h: real;
begin
write('координаты точки: ');
readln(x,y);
write('радиус круга: ');
readln(r);
h := sqrt(x*x + y*y);
if h > r then writeln('Точка не принадлежит кругу')
else writeln('Точка принадлежит кругу');
end.




координаты точки: -1 -2
радиус круга: 5
Точка принадлежит кругу
Язык Си

#include
#include
main() {
float x,y,r,h;
printf("Координаты точки: ");
scanf("%f%f", &x,&y);
printf("Радиус круга: ");
scanf("%f", &r);
h = sqrt(x*x + y*y);
printf("Гипотенуза равна %.2f. ", h);
if (h > r) printf("Точка не принадлежит кругу.\n");
else printf("Точка принадлежит кругу.\n");
}



Координаты точки: 4 5
Радиус круга: 10
Гипотенуза равна 6.40. Точка принадлежит кругу.

Для gcc компилировать с ключом -lm.
Python

Определение принадлежности точки кругу с центром в начале координат Python

from math import sqrt

x = float(input("x="))
y = float(input("y="))
r = float(input("r="))
h = sqrt(x**2 + y**2)
print("Расстояние до точки от начала координат равно %.2f" % h)
if h > r:
print("точка находится за пределами круга")
else:
print("точка принадлежит кругу")



x=10
y=-3
r=5
Расстояние до точки от начала координат равно 10.44
точка находится за пределами круга
КуМир

алг точка_круг
нач
вещ x,y,r,h
вывод "Координаты точки: "
ввод x,y
вывод "Радиус круга: "
ввод r
h := sqrt(x**2 + y**2)
если h > r то вывод "Не принадлежит"
иначе вывод "Принадлежит"
все
кон



Координаты точки: 1.6 -2.1
Радиус круга: 4
Принадлежит
Basic-256

input "x=", x
input "y=", y
input "r=", r
h = sqrt(x^2 + y^2)
if h > r then
print "Не принадлежит"
else
print "Принадлежит"
endif