Средний радиус окружностей - 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 знаков после запятой.
- Если были найдены хотя бы одна пара точек на одной окружности, то вычисляется средний радиус
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д