Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Помогите с задачей

Автор: Avalon 16.02.2008 15:27

Задача 1. Круговая площадь

Два круга заданы координатами центров в прямоугольной декартовой системе координат и радиусами. Найти площадь их пересечения.

Ограничения: во входных данных целые числа и по модулю не превосходят 1000.
Ввод из файла krug.in. В первой строке находятся шесть вещественных чисел через пробел - координаты центров и радиусы двух кругов: x1, y1, R1, x2, y2, R2.
Вывод на экран. Вывести одно вещественное число с одним знаком после запятой - площадь пересечения кругов.
Пример
Ввод
20 30 15 40 30 30
Вывод
608.4



Как я понимаю:
1. Определить непересекаемость: R1 + R2<= SQRT(SQR(X1-X2)+SQR(Y1-Y2)), тогда площадь=0
2. Определить вложенность R2 в R1:
SQRT(SQR(X1)+SQR(Y1)) + R1 >= SQRT(SQR(X2)+SQR(Y2)) + R2, тогда
S = Pi*sqr(R2)



P.S. Поиск юзал, ничего подобного не нашол

Автор: volvo 16.02.2008 16:34

Вот тут посмотри: http://forum2007.algolist.ru/showflat.php/Cat/0/Number/2585/an/0/page/11 , там приведен ход решения, останется только запрограммировать...

Автор: Avalon 16.02.2008 16:40

помогите запрограммировать пожалуйста !help.gif ypriamii.gif

Автор: volvo 16.02.2008 16:49

Поможем... Ты начни хотя бы. А то мало того, что почти все правила нарушены, задача олимпиадная (и, кстати, конкурсная к тому же), так ты еще хочешь, чтобы за тебя ее решили, а ты только пошел и сдал?

P.S. И не надо писать

begin
end.
и говорить, что ты начал, а дальше у тебя не получается и тебе уже нужна помощь. Значит, иди и читай книгу о Паскале...

Автор: Michael_Rybak 16.02.2008 16:57

 ! 
Avalon, кнопку "жалоба" использовать можно только по назначению. Свою самооценку оставь при себе.


Автор: Avalon 16.02.2008 17:25

вот моё начало, дальше я не понимаю

Код
program x3;
const Pi=3,14;
var
x1,x2,y1,y2,r1,r2,S:integer;
begin
readln (x1,y1,R1,x2,y2,R2);
{Assign(input, ‘krug.in’);
Reset (input);}  
if R1+R2<=SQRT(SQR(X1-X2)+SQR(Y1-Y2)) then
s:=0;
else
if SQRT(SQR(X1)+SQR(Y1))+R1>=SQRT(SQR(X2)+SQR(Y2))+R2 then S:=Pi*sqr(R2) else
begin