IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Переменные, Много...Много переменных
сообщение
Сообщение #1


Гость






Возможно ли сделать так, чтобы в TP7 не было ограничений по количеству переменных?

P.S.Написал программу по моделированию движения тел под действие гравитационных сил, а максимум тел которые могу рассматривать всего лишь 140, а очень хочеться больше.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Чтобы не было никаких ограничений, сделать, естественно, невозможно в принципе. Но в разных случаях ограничения могут быть различными. Для твоих структур примерно так:
16-разрядный сегмент данных в реальном режиме - 140,
16-разрядный режим с динамической памятью - 1000,
16-разрядный защищенный режим - 30000,
32-разрядный режим при памяти 1 Гбайт - 2000000,

Вообще же, ты бы привел структуру данных, которой описываешь объект. Пол-килобайта навскидку кажется многовато для одного объекта.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата(andriano @ 19.06.2008 23:06) *

Вообще же, ты бы привел структуру данных, которой описываешь объект. Пол-килобайта навскидку кажется многовато для одного объекта.


У меня в программе 3 графических модуля. Вот их нее верхушки с переменными:

const Nn1=10; dim1=3; N1=Dim1*2*Nn1; NPR=1; G_grav=6.67E-11;
var Yu,Y,D,YG:array [1..2*N1] of extended;
TPR:array [1..NPR] of extended;
M,R:array [1..Nn1] of extended;
i,ii,j,Pn1,hi,hi1,dn,n0,pp,pp1,PN,PH,BB,C,CLR,Nn,N05,dim,N:longint;
Hour,Minute,Second,Sec100:word;
sec:array [1..4] of extended;
Sm,Sm1,T,EPS,EPS1,H,P,Rr,U,Ek,E0,YY,RT0,RT,TR,t1,wd,dat,data,EUK,Xt,Yt,W:extende
d;
ch:char;
var Gd,Gm,Mx,My:integer;
Xpl,Ypl,D,N,C:longint;
Xkp,Ykp,Xkp0,Ykp0,Xp,Yp,Xc,Yc:extended;
Wxx,Wyy,Wx,Wy:array [1..2] of extended;
Xmax,Ymax,Xmin,Ymin:array [1..3] of extended;
Px,Py:array [1..2] of longint;
AT,AT0:string;
const Nn=300; dimm=4; Ntt=2;
var X,Y:array [1..Nn,1..dimm,1..Ntt] of extended;
Nc,Nt,Nt1:array [1..dimm,1..Ntt] of longint;
Dim,N,dtl,ij,J,T:longint;
AT0,AT1:string;
Ymax,Ymin,Xmax,Xmin,Wy,Wx,Wxx,Wyy,Xc,Yc:array [1..Ntt] of extended;
Xp,Yp:extended;
D,I:longint;
AT:string;

Вообще программа не просто моделирует систему из N тел, она расчитана для нахождения наилучшего времени для того чтобы сбить астероид движущийся к Земле(естественно астероид выдуманный smile.gif , но можно и реальный yes2.gif ). И естественно графика в программе достаточно сложная(1 универсальный модуль для построения любого числа графиков из любого количества точек(хоть миллион точек, хоть 10 миллионов), но построения ведется не вреальном времени, тоесть сначала вы передаете все точки модулю а после он только сроит. В торой модуль ведет построение тоже по точкам только в реальном времени и естественно как и предыдущий модуль автоматически масштабирует его. А вот третий модуль выводит на экран три проекции происходящего и трех мерное изображение).

Немного о переменных, наверное все знают что для того чтобы описать движение N под действием гравитационных полей друг друга надо решить систему состоящую из 2*N дифференциальных уравнений, при этом можно воспользоваться разными методами численного интегрирования(Гира, Рунг- Кутт 1-4).

Переменные которые служат для реализация Ронге Кутта 4 порядка:
const Nn=140; Количество тел
dim=3; Количество измерений(X,Y,Z)
N=Dim*2*Nn; Колличество дифференциальных уравнений
N05=Dim*Nn;
NPR=10;
var Y,D,YG:array [1..N] of extended;
TPR:array [1..NPR] of extended;
I,K1,NP:Longint;
T0,TT,TP,H1,H02,H03,H06,EPSM,X,Z,SIGMA,EPSZ,YI:extended;
Y0,D0,D02,D02X:array [1..N] of extended;
KH:boolean;

переменные для того чтобы описать тело
R[1..Nn];
M[1..Nn];

Скажу так если работать в программе без каково то не было графического интерфейса то количесво тел которые можно с моделировать равно 250.

И вот еще ты пишеш про динамическую память, как ее можно активировать в TP7,
Если я не ошибаюсь, то какую то память можно меня через глобальную директиву {$M}, это то или не то?
 К началу страницы 
+ Ответить 

Сообщений в этой теме
-Александр-   Переменные   20.06.2008 0:03
volvo   Я так понимаю, что вопрос связан с переполнением с…   20.06.2008 0:54
andriano   Чтобы не было никаких ограничений, сделать, естест…   20.06.2008 3:06
Гость   Вообще же, ты бы привел структуру данных, которой…   20.06.2008 17:23
klem4   Бросается в глаза: много массивов of Extended, неу…   20.06.2008 19:04
-Александр-   Бросается в глаза: много массивов of Extended, не…   20.06.2008 22:54
hardcase забыл пароль   Компилятор сменить..... 21 век на дворе никак, а в…   20.06.2008 19:56
klem4   Это какие например ? Ты бы поконкретней.   20.06.2008 23:20
-Александр-   Это какие например ? Ты бы поконкретней. Наприме…   21.06.2008 0:22
andriano   Например в обычном TP7 вот эта простенькая програ…   21.06.2008 2:29
Александр-7300   Это неправильная программа. Она не должна работат…   21.06.2008 14:20
andriano   Тогда почему я могу использовать клавиатуру тольк…   21.06.2008 19:02
Александр-7300   Потому, что твоя программа специально так написан…   21.06.2008 20:53
andriano   Как тогда сделать так что бы консоль во время рабо…   21.06.2008 22:27
Александр-7300   Не подключать лишних модулей (которые не знаешь, …   21.06.2008 23:23
klem4   попробуй скачать последнюю версию компилятора с оф…   21.06.2008 0:36
Гость   попробуй скачать последнюю версию компилятора с о…   21.06.2008 0:45
Гость   Все проблема решена. Но появился новый вопрос. Во…   21.06.2008 1:36
andriano   см. мой пост выше. Консоль просто не нужно создава…   21.06.2008 23:40
Александр-7300   см. мой пост выше. Консоль просто не нужно создав…   21.06.2008 23:45
andriano   Консоль появляеться в FPS а компилирую под WIN32 …   21.06.2008 23:55
Александр-7300   Значит, ты компилируешь не просто под Win32, а по…   21.06.2008 23:57
andriano   В командной строке не должно быть ключа -WC.   22.06.2008 1:59
Александр-7300   В командной строке не должно быть ключа -WC. Ты…   22.06.2008 15:13
andriano   Ты подрузомеваешь {-WC}? Гм... Я говорю о командн…   22.06.2008 18:00
Александр-7300   Гм... Я говорю о командной строке запуска компиля…   22.06.2008 23:13
andriano   Тогда по подробней, где не должен находиться этот…   23.06.2008 0:00
volvo   Александр-7300, подключи WinCRT вместо CRT, и пос…   22.06.2008 23:29
Александр-7300   Александр-7300, подключи WinCRT вместо CRT, и пос…   22.06.2008 23:41


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 15.05.2024 5:55
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name