1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
| -Александр- |
19.06.2008 20:03
Сообщение
#1
|
|
Гость |
Возможно ли сделать так, чтобы в TP7 не было ограничений по количеству переменных?
P.S.Написал программу по моделированию движения тел под действие гравитационных сил, а максимум тел которые могу рассматривать всего лишь 140, а очень хочеться больше. |
![]() ![]() |
| andriano |
19.06.2008 23:06
Сообщение
#2
|
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Чтобы не было никаких ограничений, сделать, естественно, невозможно в принципе. Но в разных случаях ограничения могут быть различными. Для твоих структур примерно так:
16-разрядный сегмент данных в реальном режиме - 140, 16-разрядный режим с динамической памятью - 1000, 16-разрядный защищенный режим - 30000, 32-разрядный режим при памяти 1 Гбайт - 2000000, Вообще же, ты бы привел структуру данных, которой описываешь объект. Пол-килобайта навскидку кажется многовато для одного объекта. |
| Гость |
20.06.2008 13:23
Сообщение
#3
|
|
Гость |
Вообще же, ты бы привел структуру данных, которой описываешь объект. Пол-килобайта навскидку кажется многовато для одного объекта. У меня в программе 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 тел, она расчитана для нахождения наилучшего времени для того чтобы сбить астероид движущийся к Земле(естественно астероид выдуманный Немного о переменных, наверное все знают что для того чтобы описать движение 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}, это то или не то? |
-Александр- Переменные 19.06.2008 20:03
volvo Я так понимаю, что вопрос связан с переполнением с... 19.06.2008 20:54
klem4 Бросается в глаза: много массивов of Extended, неу... 20.06.2008 15:04
-Александр-
Бросается в глаза: много массивов of Extended, не... 20.06.2008 18:54
hardcase забыл пароль Компилятор сменить..... 21 век на дворе никак, а в... 20.06.2008 15:56
klem4
Это какие например ? Ты бы поконкретней. 20.06.2008 19:20
-Александр-
Это какие например ? Ты бы поконкретней.
Наприме... 20.06.2008 20:22
andriano
Например в обычном TP7 вот эта простенькая програ... 20.06.2008 22:29
Александр-7300
Это неправильная программа. Она не должна работат... 21.06.2008 10:20
andriano
Тогда почему я могу использовать клавиатуру тольк... 21.06.2008 15:02
Александр-7300
Потому, что твоя программа специально так написан... 21.06.2008 16:53
andriano Как тогда сделать так что бы консоль во время рабо... 21.06.2008 18:27
Александр-7300
Не подключать лишних модулей (которые не знаешь, ... 21.06.2008 19:23
klem4 попробуй скачать последнюю версию компилятора с оф... 20.06.2008 20:36
Гость
попробуй скачать последнюю версию компилятора с о... 20.06.2008 20:45
Гость Все проблема решена.
Но появился новый вопрос. Во... 20.06.2008 21:36
andriano см. мой пост выше. Консоль просто не нужно создава... 21.06.2008 19:40
Александр-7300
см. мой пост выше. Консоль просто не нужно создав... 21.06.2008 19:45
andriano
Консоль появляеться в FPS а компилирую под WIN32
... 21.06.2008 19:55
Александр-7300
Значит, ты компилируешь не просто под Win32, а по... 21.06.2008 19:57
andriano В командной строке не должно быть ключа -WC. 21.06.2008 21:59
Александр-7300
В командной строке не должно быть ключа -WC.
Ты... 22.06.2008 11:13
andriano
Ты подрузомеваешь {-WC}?
Гм...
Я говорю о командн... 22.06.2008 14:00
Александр-7300
Гм...
Я говорю о командной строке запуска компиля... 22.06.2008 19:13
andriano
Тогда по подробней, где не должен находиться этот... 22.06.2008 20:00
volvo
Александр-7300, подключи WinCRT вместо CRT, и пос... 22.06.2008 19:29
Александр-7300
Александр-7300, подключи WinCRT вместо CRT, и пос... 22.06.2008 19:41![]() ![]() |
|
Текстовая версия | 15.12.2025 21:12 |