Другие языки программирования и технологии

Программерам умеющим решать задачи на паскале

Найдите радиус окружности,проходящей через три заданные точки на плоскости. Заранее спасибо
Можно решать приведённую выше систему уравнений - нудное занятие. А можно понять, что эти три точки - вершины треугольника, вписанного в окружность. Тогда надо найти радиус окружности, описанной около этого треугольника. Воспользуемся формулой r = (a * b * c) / (4 * s), где a, b и c - стороны треугольника, а s - его площадь.
Стороны треугольника рассчитаем по формуле расстояния между точками d = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)).
Площадь рассчитаем по формуле Герона: s = sqrt(p * (p - a) * (p - b) * (p - c)), где p = (a + b + c) / 2.

Программа.

Program radius;

Var
x1, y1, x2, y2, x3, y3 :Real;
a, b, c :Real;
p, s :Real;
r :Real;

Begin

ReadLn(x1, y1);
ReadLn(x2, y2);
ReadLn(x3, y3);

a := sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
b := sqrt((x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3));
c := sqrt((x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3));

p := (a + b + c) / 2;
s := sqrt(p * (p - a) * (p - b) * (p - c));

r := (a * b * c) / (4 * s);
WriteLn(r);

End.
Александр Повторкин
Александр Повторкин
438
Лучший ответ
Я ж тебе написал - выведи формулу зависимости радиуса от координат точки. Т. е. неши систему уравнений:

R^2=(xr-x1)^2+(yr-y1)^2
R^2=(xr-x2)^2+(yr-y2)^2
R^2=(xr-x3)^2+(yr-y3)^2

Отсюда, элеминировав xr и yr, получится формула зависимости R от координат точек. Эту формулу запиши на паскале, не можешь сам - поможем. Но формулу-то уж сам как-нибудь...
Как много программистов (и горе-программистов) на Паскале. :)
MO
May One -Tru
1 346
еще что-то надо??