![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Sergey K. |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
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 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
По поводу первой задачи, больше никаких точек не дано ? Если знать через какие точки проходит прямая, где находится центр окружности и центр правого фокуса эллипса, задача решается очень просто, а как по картинке эти точки определить, пока не пойму, масшаты у тебя явно не соблюдены, даже по осям X и Y одной клетке явно соответствуют разные величины.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Sergey K. |
![]() ![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
По поводу первой задачи, больше никаких точек не дано ? Если знать через какие точки проходит прямая, где находится центр окружности и центр правого фокуса эллипса, задача решается очень просто, а как по картинке эти точки определить, пока не пойму, масшаты у тебя явно не соблюдены, даже по осям X и Y одной клетке явно соответствуют разные величины. В том-то и дело! Рисунок это не мой! И масштаб не соблюдён. Просто пытаюсь другу помочь!!! Ну, вроде, смотрел, так, по-моему, центр должен быть по оси Х=-6. Формулы искал и т.д. В том-то и дело, что сложно... разобраться по одному этому рисунку-то... Насколько я понял, а - это расстояние от самого центра эллипса до края, таким образом b - это от центра эллипса до верха. А есть ещё, вроде, расстояние между фокусами 2C, по-моему. То есть C-это расстояние от центра до фокуса, на том месте и будет центр правого фокуса эллипса. Вот именно. Но больше данных нет. Такую задачку им задали! Добавлено: Значит, FAQ опять не читаем... А насчет - это вообще разговор отдельный ![]() FAQ смотрел немного. Вообще воспользовался поиском. Но там было только про треугольник. И то он один! Вроде, про круги что-то было... Но лучше уж сразу точно определиться!!! Что и как! Я, вроде, подобные задачки делал, но проще там всё было. Да и толком непонятно тут с рисунком-то... А почему отдельный разговор про оператор goto? |
klem4 |
![]()
Сообщение
#5
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
В общем для решения первой задачи тебе нужны 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 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
В общем для решения первой задачи тебе нужны 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. - 18.01.2007 22:06 |
klem4 |
![]()
Сообщение
#7
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Ты пойми, для решения задачи явно недостаточно данных, взять хотябы окружность, для нее известны только 2 точки, которые ей принадлежат и радиус, ее центр из этого получить невозможно, а без этого никак ...
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Archon |
![]()
Сообщение
#8
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Ты пойми, для решения задачи явно недостаточно данных, взять хотябы окружность, для нее известны только 2 точки, которые ей принадлежат и радиус, ее центр из этого получить невозможно, а без этого никак ... Да ты что, klem4? ![]() 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 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата 2 точки и радиус полностью определяют окружность не всегда. построй 2 пересекающиеся окружности одинакового радиуса... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Archon |
![]()
Сообщение
#10
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не точно выразился. Конечно имелся ввиду данный случай.
-------------------- Close the World...txeN eht nepO
|
klem4 |
![]()
Сообщение
#11
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата Конечно имелся ввиду данный случай. А чем данный отличается от общего ? Через 2 точки на оси можно провести 2 окружности одного радиуса с разными центрами ... -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Archon |
![]()
Сообщение
#12
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата А чем данный отличается от общего ? Через 2 точки на оси можно провести 2 окружности одного радиуса с разными центрами ... Графиком. Как ты правильно заметил, масштабы у Sergey'a K. не соблюдены, однако вполне очевидно, что центр окружности находится по правую сторону от оси y.-------------------- Close the World...txeN eht nepO
|
klem4 |
![]()
Сообщение
#13
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата Графиком. Как ты правильно заметил, масштабы у Sergey'a K. не соблюдены, однако вполне очевидно, что центр окружности находится по правую сторону от оси y. Ну если так рассуждать то конечно ... В общем у меня желания гадать нету никакого, функции которые нужны автору для решения я привел, реализация первой есть на форуме, о остальные простые для реализации. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 14:48 |