О Принадлежности точки заданным областям! Сложно!, Две задачки... Две области, фигуры: эллипс, круг, прямая! |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
О Принадлежности точки заданным областям! Сложно!, Две задачки... Две области, фигуры: эллипс, круг, прямая! |
Sergey K. |
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
1) Разработать программу, которая в ответ на вводимую с клавиатуры пару вещественных чисел, представляющих собой координаты X, Y точки А на плоскости, выдаёт текстовое сообщение о принадлежности этой точки заданной области. Например: «Точка принадлежит заданной области». В программе должно быть предусмотрено неограниченное повторение всех операций с использованием оператора goto. Решение о повторе должен принимать пользователь с помощью клавиатуры.
2) Разработать программу вычислений заданной площади, используя три различных метода вычислений: прямоугольников, трапеций, Симпсона. Результат вывести на экран в виде таблицы: Число разбиений Результат n A B C n1 A1 B1 C1 n2 A2 B2 C2 n3 A3 B3 C3 Здесь: А1–А3, B1–B3, C1–C3 – численные результаты счета, полученные соответственно методами прямоугольников (А), трапеций (B) и Симпсона ©. Число разбиений n1, n2, n3 задать самостоятельно (например, n1=10, n2=100, n3=1000) Формат вывода результатов А, В, С задан в варианте. Результат в виде таблицы должен выдаваться, не выходя из основной программы, т.е. должно быть предусмотрено продолжение работы программы с новым набором входных данных до тех пор, пока не будет нажата заданная клавиша. Промежуточные вычисления необходимых критических точек осуществить методом сканирования или методом проб с заданной точностью E=0,0001. При реализации повторяющихся алгоритмов разработать соответствующие функции (процедуры). Справочный материал 1. Формулы прямоугольников: 1) h[Y(0)+Y(1)+…+Y(N–1)] 2) h[Y(1)+Y(2)+…+Y(N)] 3) h[Y(1/2)+Y(3/2)+…+Y(N–1/2)] 2. Формула трапеций: h[(Y(0)+Y(N))/2 + Y(1) + Y(2) + … + Y(N–1)] 3. Формула Симпсона: h/6[(Y(0)+Y(N)+2(Y(1)+Y(2)+…+Y(N–1))+ +4(Y(1/2)+Y(3/2)+…+Y(N–1/2))] Здесь: h – шаг дискретизации (h=(B–A)/N) на отрезке интегрирования [A,B]; N – число разбиений; Y(i) – значение подинтегральной функции на i-том шаге дискретизации, Y(0) и Y(N) – соответственно значения функции в начальной и конечной точках отрезка интегрирования, Y(1/2), Y(3/2), Y(N–1/2) – значения функции в точках середин отрезков соответственно между 1-м и 2-м, 2-м и 3-м, (N–1)-м и N-м итерациями или шагами Заранее благодарю!!! |
volvo |
Сообщение
#2
|
Гость |
Значит, FAQ опять не читаем...
Второй вопрос - сразу сюда: Численное интегрирование + Поиск (для метода трапеций) А насчет Цитата с использованием оператора goto - это вообще разговор отдельный |
klem4 |
Сообщение
#3
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
По поводу первой задачи, больше никаких точек не дано ? Если знать через какие точки проходит прямая, где находится центр окружности и центр правого фокуса эллипса, задача решается очень просто, а как по картинке эти точки определить, пока не пойму, масшаты у тебя явно не соблюдены, даже по осям X и Y одной клетке явно соответствуют разные величины.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Sergey K. |
Сообщение
#4
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
По поводу первой задачи, больше никаких точек не дано ? Если знать через какие точки проходит прямая, где находится центр окружности и центр правого фокуса эллипса, задача решается очень просто, а как по картинке эти точки определить, пока не пойму, масшаты у тебя явно не соблюдены, даже по осям X и Y одной клетке явно соответствуют разные величины. В том-то и дело! Рисунок это не мой! И масштаб не соблюдён. Просто пытаюсь другу помочь!!! Ну, вроде, смотрел, так, по-моему, центр должен быть по оси Х=-6. Формулы искал и т.д. В том-то и дело, что сложно... разобраться по одному этому рисунку-то... Насколько я понял, а - это расстояние от самого центра эллипса до края, таким образом b - это от центра эллипса до верха. А есть ещё, вроде, расстояние между фокусами 2C, по-моему. То есть C-это расстояние от центра до фокуса, на том месте и будет центр правого фокуса эллипса. Вот именно. Но больше данных нет. Такую задачку им задали! Добавлено: Значит, FAQ опять не читаем... А насчет - это вообще разговор отдельный FAQ смотрел немного. Вообще воспользовался поиском. Но там было только про треугольник. И то он один! Вроде, про круги что-то было... Но лучше уж сразу точно определиться!!! Что и как! Я, вроде, подобные задачки делал, но проще там всё было. Да и толком непонятно тут с рисунком-то... А почему отдельный разговор про оператор goto? |
klem4 |
Сообщение
#5
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
В общем для решения первой задачи тебе нужны 3 функции:
1) Определяющая с какой тороны (справа или слева) от прямой лежит точка. Реализаций этой ф-ии есть на форуме 2) Функция, определяющая принадлежность с эллипсу (X^2/A^2 + Y^2/B^2 <= 1) 3) Функция, определяющая принадлежность к окружности (X^2 + Y^2 <= R^2) Последние 2 ф-и придется немного подкорректировать, так как центр окружности не совпадает с началом координат, и середина отрезка F1F2 (где F1 и F2 - фокусы)не совпадает с началом координат. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Sergey K. |
Сообщение
#6
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
В общем для решения первой задачи тебе нужны 3 функции: 1) Определяющая с какой тороны (справа или слева) от прямой лежит точка. Реализаций этой ф-ии есть на форуме 2) Функция, определяющая принадлежность с эллипсу (X^2/A^2 + Y^2/B^2 <= 1) 3) Функция, определяющая принадлежность к окружности (X^2 + Y^2 <= R^2) Последние 2 ф-и придется немного подкорректировать, так как центр окружности не совпадает с началом координат, и середина отрезка F1F2 (где F1 и F2 - фокусы)не совпадает с началом координат. Пожалуйста, если можете, то предоставьте код программы!!! А то другой работы куча совсем немаленькая сейчас!!! Как сможете, сколько получится!!! Просто это надо тоже побыстрее!!! А я до конца выходных занят по уши... А если эти 2 задачки попробовать попросить решить за деньги, то это в какую сумму будет? Он, может быть, даже согласится! Ему действительно это очень надо! Сообщение отредактировано: Sergey K. - |
klem4 |
Сообщение
#7
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Ты пойми, для решения задачи явно недостаточно данных, взять хотябы окружность, для нее известны только 2 точки, которые ей принадлежат и радиус, ее центр из этого получить невозможно, а без этого никак ...
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Archon |
Сообщение
#8
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Цитата Ты пойми, для решения задачи явно недостаточно данных, взять хотябы окружность, для нее известны только 2 точки, которые ей принадлежат и радиус, ее центр из этого получить невозможно, а без этого никак ... Да ты что, klem4? 2 точки и радиус полностью определяют окружность, тем более, что это точки пересечения с осью.O_y = (27 - 34) / 2 = -3.5 AC = (27 + 34) / 2 = 30.5 O_x = CO = sqrt (sqr (32) - sqr (30.5))=~9.7 Для эллипса тоже данных достаточно. Мне кажется товарищу Sergey'ю K., сперва следовало обратиться в раздел "математика". Эскизы прикрепленных изображений -------------------- Close the World...txeN eht nepO
|
мисс_граффити |
Сообщение
#9
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата 2 точки и радиус полностью определяют окружность не всегда. построй 2 пересекающиеся окружности одинакового радиуса... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Archon |
Сообщение
#10
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Не точно выразился. Конечно имелся ввиду данный случай.
-------------------- Close the World...txeN eht nepO
|
klem4 |
Сообщение
#11
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Цитата Конечно имелся ввиду данный случай. А чем данный отличается от общего ? Через 2 точки на оси можно провести 2 окружности одного радиуса с разными центрами ... -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Archon |
Сообщение
#12
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Цитата А чем данный отличается от общего ? Через 2 точки на оси можно провести 2 окружности одного радиуса с разными центрами ... Графиком. Как ты правильно заметил, масштабы у Sergey'a K. не соблюдены, однако вполне очевидно, что центр окружности находится по правую сторону от оси y.-------------------- Close the World...txeN eht nepO
|
klem4 |
Сообщение
#13
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Цитата Графиком. Как ты правильно заметил, масштабы у Sergey'a K. не соблюдены, однако вполне очевидно, что центр окружности находится по правую сторону от оси y. Ну если так рассуждать то конечно ... В общем у меня желания гадать нету никакого, функции которые нужны автору для решения я привел, реализация первой есть на форуме, о остальные простые для реализации. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Текстовая версия | 7.10.2024 8:09 |