![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 19.08.2009
Сообщений: 3
|
![]()
Проблема в следующем.
Имеется рабочая программа на паскале. копирую и вставляю в делфи, графику и выводы переобозначиваю как надо. Проблема только в дном месте в программе при входе в одну из процедур переобозначаюся переменные! совершенно произвольными цифрами типа 1.4е-314 или типа такого числа близкие к нулю при выходе изпроцедуры значения цифр возвращается в нормальное(предположительно), так как первые две част использующие эту процедуру работаю вроде бы как надо, а когда дело доходит до более больших цифр и дальнейшего времени то комп зависает с ошибкой нехвтки памяти!!! после того как он загребает 1 гиг файла подкачки. В чем может быть причина? процедур описана так Код:
Заранее спасибо. Последний раз редактировалось Stilet; 20.08.2009 в 08:29. |
![]() |
![]() |
![]() |
#2 | ||
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#3 |
Регистрация: 19.08.2009
Сообщений: 3
|
![]()
Что вы все цепляетесь к словам????
мозги кипят за всем не уследить! ![]() Я типа "начинающий прогамист." пытаюсь разобраться в программе написанной одним умным профессором, когда то на паскале. Код:
Последний раз редактировалось Stilet; 20.08.2009 в 08:29. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]()
Господи помилуй!
Это что за абракадабра! Вот привёл в более читабельное состояние Код:
Возможно алгоритм в бесконечный цикл вылетает? Не может такого быть? И вообще, чё это за функция? //Теги кода, кнопка ![]() |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Выходов из твоей процедуры, как я понял, 2:
а) с ошибкой б) при h < hmin Отслеживай h при больших числах.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Вот почитал я про Метод Рунге-Кутта пятого порядка, модификация Мерсона и конечно ничего не понял. Но я также не понимаю как человек решающий такие сложные математические задачи может путать числа и цифры, это же вбито в память и пальцы по умолчанию должно быть.
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 19.08.2009
Сообщений: 3
|
![]()
vector, как объявлена его структура?
Type vector=array[1..n] of real; при первом обращении к это процедуре n=2 и она считается -- файл подкачки 10 метров при втором n=13 и она тоже считает, но долго (5-10 секунд) -- файл подкачки 30-40 метров при третьем обращении переполняет память -- файл подкачки до 1 гиг комп норм 2 ядра 2 гига как положено. ![]() И что за функция prav. Это большая функция... но при входе в нее из процедуры mersonhi переменные становятся нормальными. Я убирал ссылку на неё(исключал части процедуры) - проблема остается! переменные принимают значения типа: например h=0.0001 шаг интегрирования становится пимерно 3,2 * 10 в -306 степени. если ставить расширение Extended то значение становится порядка 10 в 4036 степени или что то такое. алгоритм не бесконечный. Выходы в нем 1- по достижении h величины hmin но как я не пробовал этого обычноне происходило 2- при достижении условия err<eps eps - фиксировано err считается как я еще посидел проблема в том что у меня величина h уходит в диапазон малых значений 2,5 * 10 в -9 за счет этого малого шага... идет забивание памяти и процес обрывается! так что возможно программа и считает! но почему идете переназначение переменных??? ![]() P.S. программа имеет много UNITов, встечался с делфи видал много косяков и неустойчивостей в рабочих отлаженных программах, может ли большое число юнитов повлиять на что либо? эта процедура описана в разных и ведет себя везде одинаково. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Как вариант стоит проверить не совпадают ли имена твоих функций в различных модулях? И переназначение переменных обычно обозначает что они не инициализированы, так что обрати внимание на это.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задачи с числами | Alexxx92 | Помощь студентам | 4 | 26.04.2011 05:42 |
Интересная проблема... | Vitalik1234 | Софт | 3 | 13.06.2009 01:25 |
Файл с числами | cu2zoff | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 20.05.2009 21:16 |
Работа с числами | Drain | Общие вопросы Delphi | 10 | 11.02.2008 16:35 |