|
Вернуться
| 1 Жемелев Георгий Алексеевич, 27 июня 2012 г. 23:31:20 | |
Надеюсь, сможете разобраться в формуле. Суть в том, что искомая площадь равна сумме площадей окружности и четырехугольника, который образуют отрезки касательных к окружности (проведенные из первой точки) и радиусы, проведенные в точки касания, минус площадь сектора, в котором эти две фигуры пересекаются. program B_pomestie; var xk,yk,xc,yc,r,S: real; begin assign(input,'input.txt'); reset(input); assign(output,'output.txt'); rewrite(output); S:=0; read(xk,yk,xc,yc,r); S:=pi*r*r + (sqrt((sqr(xk-xc)+sqr(yk-yc))-r*r )*r) - r*r*arctan(sqrt( sqr(xk-xc)+sqr(yk-yc)-r*r )/r); write(S:0:5); end.
|
|
|
| 2 Морозов Игорь Олегович, 27 июня 2012 г. 17:21:36 | |
|
Какая ещё хорда? Если не диаметр, то в чем тогда логика?
|
|
|
| 3 Кожухівський Віталій Андрійович, 27 июня 2012 г. 13:50:27 | |
|
там в треугольника в основании - не диаметр, а хорда. Поскольку если бы ето был диаметр, то два угла были би по 90 градусов (потому что угол между косательной и радиусом - 90).
|
|
|
| 4 Сопов Артём Андреевич, 27 июня 2012 г. 13:38:19 | |
program n1; var x1,y1,x2,y2,r2,s,s1,s2,h:real; begin read(x1,y1); read(x2,y2,r2); h:=sqrt(sqr(x2-x1)+sqr(y2-y1)); s1:=pi*sqr(r2); s2:=h*(r2*2)/2-s1/2; s:=s1+s2; write(s:10:5) end.
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| |