![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Avalon |
![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Миша Репутация: ![]() ![]() ![]() |
Задача 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. Поиск юзал, ничего подобного не нашол Сообщение отредактировано: Avalon - -------------------- Владение русской орфографией - это как владение кунг-фу: настоящие мастера не применяют его без необходимости... (с)
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Вот тут посмотри: АлгоЛист - Перекрытие кругов , там приведен ход решения, останется только запрограммировать...
|
Avalon |
![]()
Сообщение
#3
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Миша Репутация: ![]() ![]() ![]() |
помогите запрограммировать пожалуйста
![]() ![]() -------------------- Владение русской орфографией - это как владение кунг-фу: настоящие мастера не применяют его без необходимости... (с)
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Поможем... Ты начни хотя бы. А то мало того, что почти все правила нарушены, задача олимпиадная (и, кстати, конкурсная к тому же), так ты еще хочешь, чтобы за тебя ее решили, а ты только пошел и сдал?
P.S. И не надо писать beginи говорить, что ты начал, а дальше у тебя не получается и тебе уже нужна помощь. Значит, иди и читай книгу о Паскале... Сообщение отредактировано: volvo - |
Michael_Rybak |
![]()
Сообщение
#5
|
|||
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
|
|||
Avalon |
![]()
Сообщение
#6
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Миша Репутация: ![]() ![]() ![]() |
вот моё начало, дальше я не понимаю
Код 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 Сообщение отредактировано: Avalon - -------------------- Владение русской орфографией - это как владение кунг-фу: настоящие мастера не применяют его без необходимости... (с)
|
![]() ![]() |
![]() |
Текстовая версия | 3.10.2023 4:07 |