Средний радиус окружностей - Pascal
Формулировка задачи:
Помогите пожалуйста решить. Попарно заданы своими координатами 2N точек на плоскости. Определить в каком числе случаев обе точки из одной пары находятся на одной окружности с центром у начале координат а также средний радиус окружностей
Решение задачи: «Средний радиус окружностей»
textual
Листинг программы
var n,i,k,x1,y1,x2,y2:integer;
sr:real;
begin
write('Сколько пар точек ввести n=');
readln(n);
writeln('Вводите координаты пар точек');
k:=0;
sr:=0;
for i:=1 to n do
begin
writeln('Пара номер ',i);
write('x1=');
readln(x1);
write('y1=');
readln(y1);
write('x2=');
readln(x2);
write('y2=');
readln(y2);
if sqr(x1)+sqr(y1)=sqr(x2)+sqr(y2) then
begin
k:=k+1;
sr:=sr+sqrt(sqr(x1)+sqr(y1));
end;
end;
writeln('Число случаев когда обе точки лежат на одной окружности =',k);
if k>0 then
begin
sr:=sr/k;
write('Средний радиус таких окружностей=',sr:0:2)
end;
end.
Объяснение кода листинга программы
- Объявление переменных:
n- количество пар точек,i- счётчик цикла,k- количество пар точек, лежащих на одной окружности,x1иy1- координаты первой точки,x2иy2- координаты второй точки,sr- средний радиус окружностей.
- Запрос у пользователя количества пар точек
n. - Цикл для ввода координат пар точек:
- Запрос координат первой точки (x1, y1).
- Запрос координат второй точки (x2, y2).
- Вычисление и проверка условия, лежат ли обе точки на одной окружности по формуле для радиуса окружности (sqr(x1) + sqr(y1) = sqr(x2) + sqr(y2)).
- Если условие выполняется, увеличение счётчика
kи добавление радиуса этой окружности к суммеsr.
- Вывод количества случаев, когда обе точки лежат на одной окружности.
- Вычисление среднего радиуса окружностей:
- Если были найдены хотя бы одна пара точек на одной окружности, то вычисляется средний радиус
srпутём деления суммы радиусов на количество случаев (sr/k). - Вывод среднего радиуса окружностей, округлённого до 2 знаков после запятой.
- Если были найдены хотя бы одна пара точек на одной окружности, то вычисляется средний радиус