Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: Объясните, пожалуйста! Почему во второй задаче олимпиады у Вас ответ 5.69646? Ведь если добавлять площадь треугольника к половине площади круга, то получается 5.57080??? Подскажите, где ошибка:(
1
  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.
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru