![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Relrin |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 64 Пол: Мужской Репутация: ![]() ![]() ![]() |
Довольно долго помучавшись с интегралами, решил прикрутить к проге отрисовку графика, который будет рисовать на основе данных, берущихся из двух массивов, одна возникла неприятность:
1) соединение двух точек линией происходит некорректно 2) неправильно указывает точку (все "скапливается" около начала координат, а не находится около своих значений) Исходный код:
Сообщение отредактировано: Relrin - 20.03.2011 16:19 |
![]() ![]() |
Relrin |
![]()
Сообщение
#2
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 64 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Нет. Разобраться в этом нагромождении кода - это выше моих сил. Рассказывай, что это: for j:=1 to 3 do Что касательно кода: 1)
Этой кусок означает, что, выводить, результат (а мы его еще в текст переведем), будет выводится в таком же виде (кол-ве знаком после запятой), как он представлен в таблице (например, первый интеграл, решенный первый методом (левых прямоугольников), получим результат 0.1990 который мы и выведем, когда нарисуем линию до точки) 2)
Как видишь, оба этих кусочка идентичны. Суть в чем: мы рисуем линию от одной точки до другой. Изначально начальная кордината (на графике как начало координат (x1,y1)) перед работой этого кода указаны. От этой точки, до той, которой соответствуют (по оси Ох кол-во разбиений, а по Оу - соответстующий результат) некоторые значения. Сначала выводиться график, связанный ТОЛЬКО с первым интегралом, решенный первым и вторым методом. Первый метод хранит результаты в result[1,z], где z от 1 до 3, т.к. решен пример с разными точностями. Второй метод хранит значения в ячейках result[1,z], где z от 4 до 6 соответственно. Для второй функции, изменяется лишь строка на result[2,z], где z от 1 до 6 (1-3 - первый метод, 1-6 второй). С NumbPart все аналогично, значения [1,z] соответствую подсчетам. После того, как нарисовали, отображаем над нашей второй точкой (до которой рисовали от начала координат, до первый точки, например). После этого, в х1 и у1 сбрасываем значения этой точки, чтобы от нее потом рисовать линию до другой точки. Надеюсь, все понятно... ![]() Добавлено через 13 мин. Нет. Разобраться в этом нагромождении кода - это выше моих сил. Рассказывай, что это: ? Что хранится в NumbPart, и для значений NumbPart, которые получаются ({2048, 16384, 131072, 2, 8, 32}, {16, 64, 512, 8, 32, 64}) нарисуй и покажи график, который должен получиться (хочешь - на листе бумаги + сканнер, хочешь - в Paint-е, но чтоб было видно, что по какой оси должно откладываться, и что с чем - соединяться. И почему вообще минимальное значение в NumbPart = 2, в то время, как отображается на координатной сетке Lenmin = 8). в NumbPart хранятся именно вот эти...ммм.... количества разбиений. Такие значения взяты, чтобы график было удобнее рисовать. График который хочу получить, будет выглядеть следующим образом: ![]() Сообщение отредактировано: Relrin - 20.03.2011 20:21 |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 18:33 |