Определить, принадлежит ли точкам M(x,y) кругу радиуса R с центром в точке O(a,b) - Turbo Pascal
Формулировка задачи:
Определить, принадлежит ли точкам M(x,y) кругу радиуса R с центром в точке O(a,b). Если – да, найти расстояние между точками M(x,y) и O(a,b).
Решение задачи: «Определить, принадлежит ли точкам M(x,y) кругу радиуса R с центром в точке O(a,b)»
textual
Листинг программы
- uses crt;
- type point=record
- x,y:real;
- end;
- function rasst(a,b:point):real;
- begin
- rasst:=sqrt(sqr(a.x-b.x)+sqr(a.y-b.y));
- end;
- var m,n,o:point;
- r,s:real;
- t:boolean;
- begin
- clrscr;
- writeln('Введите координаты точки M');
- readln(m.x,m.y);
- writeln('Введите координаты точки N');
- readln(n.x,n.y);
- writeln('Введите координаты точки O');
- readln(o.x,o.y);
- repeat
- write('Введите радиус круга R>0 R=');
- readln(r);
- until r>0;
- t:=(rasst(m,o)<=r)and(rasst(n,o)<=r);
- if t then
- begin
- writeln('Точки M,N принадлежат кругу');
- write('Расстояние между ними=',rasst(m,n):0:2);
- end
- else writeln('Не обе точки принадлежат кругу');
- readln
- end.
Объяснение кода листинга программы
- Создается тип данных
point
с полямиx
иy
для хранения координат точек. - Определяется функция
rasst
, которая вычисляет расстояние между двумя точками, используя формулу расстояния между двумя точками на плоскости. - Объявляются переменные
m
,n
иo
типаpoint
для хранения координат точек M, N и O соответственно. - Объявляется переменная
r
для хранения радиуса круга. - Запускается цикл чтения координат точек M, N и O.
- Проверяется, что введенный радиус круга больше нуля.
- Проверяется, что обе точки (M и N) принадлежат кругу, используя функцию
rasst
. - Если условие выполняется, выводится сообщение о том, что точки M и N принадлежат кругу, а также расстояние между ними.
- Если условие не выполняется, выводится сообщение о том, что хотя бы одна из точек не принадлежит кругу.
- Программа завершается после ввода всех данных.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д