Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.08.2007, 06:02   #1
Enko
Пользователь
 
Регистрация: 30.08.2007
Сообщений: 13
По умолчанию Разные вопросы

Доброго времени суток!
Вопросы:
Во время выполнения процедуры (Delphi) через определенные промежутки времени нужно выводить значение переменной, как это сделать, обработчик событий OnTimer запускается только при выходе.

Как происходит формирование адреса для доступа к элементу двумерного массива определенного на паскале?
Пусть A:array[0..N, 0..M]of Element; пусть нужный элемент имеет координаты (i,j)
Тогда адрес для доступа к элементу = i*M*|Element|+j*|Element|; где ||=размер.
Или может как-то иначе?

В процессе некоторого вычисления нужно записывать очень большое множество векторов(одномерных массивов длинны N), а потом многократно определять находится ли данный вектор Х в этом множестве, как это лучше сделать?

Последний раз редактировалось Enko; 30.08.2007 в 06:13.
Enko вне форума Ответить с цитированием
Старый 30.08.2007, 16:42   #2
А. Долматов
Форумчанин
 
Аватар для А. Долматов
 
Регистрация: 15.02.2007
Сообщений: 183
По умолчанию

Цитата:
Как происходит формирование адреса для доступа к элементу двумерного массива определенного на паскале?
Пусть A:array[0..N, 0..M]of Element; пусть нужный элемент имеет координаты (i,j)
Тогда адрес для доступа к элементу = i*M*|Element|+j*|Element|; где ||=размер.
Или может как-то иначе?
Происходит точно также как и в паскале.

Цитата:
В процессе некоторого вычисления нужно записывать очень большое множество векторов(одномерных массивов длинны N), а потом многократно определять находится ли данный вектор Х в этом множестве, как это лучше сделать?
в процедуре занесения массива, сразу определять его принадлежность к множеству.

Цитата:
Во время выполнения процедуры (Delphi) через определенные промежутки времени нужно выводить значение переменной, как это сделать, обработчик событий OnTimer запускается только при выходе.
не совсем понятно что значит при выходе? При выходе откуда?(процедуры или функции, события, дествия)
Знать все невозможно, в силу того, что жить бы стало неинтересно.
А. Долматов вне форума Ответить с цитированием
Старый 30.08.2007, 18:01   #3
Enko
Пользователь
 
Регистрация: 30.08.2007
Сообщений: 13
По умолчанию

Цитата:
Сообщение от А. Долматов Посмотреть сообщение
Происходит точно также как и в паскале.
А я и спрашиваю: как происходит в паскале?

Цитата:
Сообщение от А. Долматов Посмотреть сообщение
в процедуре занесения массива, сразу определять его принадлежность к множеству.
Извините, наверное я неточно сформулировал вопрос. Уже имеется очень большое множество векторов(одномерных массивов длинны N) , дан произвольный вектор Х, нужно определить находится ли он в данном множестве.

Цитата:
Сообщение от А. Долматов Посмотреть сообщение
не совсем понятно что значит при выходе? При выходе откуда?(процедуры или функции, события, дествия)
При выходе из процедуры из которой и нужно выводить значение переменной.

Спасибо за внимание.
Enko вне форума Ответить с цитированием
Старый 30.08.2007, 21:12   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

1. Выставь нужный интервал в таймере, и впиши в OnTimer код вывода значений

2.
var e: Element;
e:=A[i,j];

3. Не понял суть вопроса. Не люблю математику.
Какие имена у уже имеющихся массивов?
Кроме длины они чем-то отличаются?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 31.08.2007, 07:08   #5
Enko
Пользователь
 
Регистрация: 30.08.2007
Сообщений: 13
Печаль

Цитата:
Сообщение от mutabor Посмотреть сообщение
1. Выставь нужный интервал в таймере, и впиши в OnTimer код вывода значений

2.
var e: Element;
e:=A[i,j];

3. Не понял суть вопроса. Не люблю математику.
Какие имена у уже имеющихся массивов?
Кроме длины они чем-то отличаются?
Всё не то!!!

1. В OnTimer попадешь только после выхода из выполняемой процедуры, а нужно чтобы выводилось текушее значение переменной(счетчика) во время выполнения процедуры.

2. Меня не интересует как присваивать значение переменной, это я умею, я спрашивал как формируется физический адрес элемента массива.

3. В процессе некоторого вычисления нужно записывать очень большое множество различных векторов(одномерных массивов фиксированой длинны N), а потом многократно определять находится ли данный вектор Х (так же фиксированой длинны N) в этом множестве, как это лучше сделать?

Неужели никто не подскажет!!!

Последний раз редактировалось Enko; 31.08.2007 в 07:12.
Enko вне форума Ответить с цитированием
Старый 31.08.2007, 13:12   #6
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

' В OnTimer попадешь только после выхода из выполняемой процедуры, а нужно чтобы выводилось текушее значение переменной(счетчика) во время выполнения процедуры.'
кто такое сказал ?
и про потоки -ничего не знаем ?
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 31.08.2007, 20:20   #7
Enko
Пользователь
 
Регистрация: 30.08.2007
Сообщений: 13
Печаль

Цитата:
Сообщение от Virtson Посмотреть сообщение
' В OnTimer попадешь только после выхода из выполняемой процедуры, а нужно чтобы выводилось текушее значение переменной(счетчика) во время выполнения процедуры.'
кто такое сказал ?
и про потоки -ничего не знаем ?
Никто не сказал, просто так и есть: В OnTimer попадаешь только после выхода из выполняемой процедуры. Да про потоки почти ничего не знаю, а в каком вопросе они могут помочь?
Enko вне форума Ответить с цитированием
Старый 01.09.2007, 00:17   #8
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
1. В OnTimer попадешь только после выхода из выполняемой процедуры, а нужно чтобы выводилось текушее значение переменной(счетчика) во время выполнения процедуры.
ну так и выводи из процедуры, зачем тут таймер?
если там цикл, вставь Application.ProcessMessages
Цитата:
3. В процессе некоторого вычисления нужно записывать очень большое множество различных векторов(одномерных массивов фиксированой длинны N), а потом многократно определять находится ли данный вектор Х (так же фиксированой длинны N) в этом множестве, как это лучше сделать?
то есть вектор находится в множестве в случае, если все элементы массива (вектора) X соответствуют элементам в одном из массивов?
массивы что-ли сравнить надо?
Цитата:
Неужели никто не подскажет!!!
с такой постановкой вопросов, нет
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 01.09.2007 в 00:33.
mutabor вне форума Ответить с цитированием
Старый 01.09.2007, 22:02   #9
Enko
Пользователь
 
Регистрация: 30.08.2007
Сообщений: 13
По умолчанию

Спасибо за Application.ProcessMessages

Цитата:
Сообщение от mutabor Посмотреть сообщение
то есть вектор находится в множестве в случае, если все элементы массива (вектора) X соответствуют элементам в одном из массивов?
массивы что-ли сравнить надо?
Да, совершенно верно, вектор находится в множестве если он покомпонентно совпадает с одним из элементов множества, вообще говоря я не утверждаю что эти векторы должны быть записаны именно как массивы, может для осуществления процедуры сравнения векторов есть более удобная форма их представления в памяти.

Вот подобная задача, только тут уже векторы(т.е слова) произвольной длинны:

Есть русско-английский словарь(т.е каждому русскому слову поставлено в соответствие английское слово), нужно ввести русское слово и программа должна найти соответствующее английское слово или сообщить что такого слова в словаре нет.
Как лучше представить в памяти этот словарь.

Цитата:
Сообщение от mutabor Посмотреть сообщение
Цитата:
Неужели никто не подскажет!!!
с такой постановкой вопросов, нет
Вы меня совсем разочаровываете , по-моему нормальная формулировка.

Еще вопросы:
1. Как лучше представлять многомерный массив: Методом Айлиффа или обычным для Delphi способом???
2. Можно ли получить листинг кода программы, написанной в Delphi?

Спасибо за внимание.

Последний раз редактировалось Stilet; 01.02.2010 в 10:42.
Enko вне форума Ответить с цитированием
Старый 02.09.2007, 23:48   #10
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
2. Можно ли получить листинг кода программы, написанной в Delphi?
в директории с проектом pas файлы (напр. unit1.pas)
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СПАСИБО модераторам раздела "Общие вопросы Delphi!" ) artemavd Свободное общение 3 04.10.2008 02:44
сравнить разные строки Katovski Общие вопросы Delphi 8 02.05.2008 21:10
Вопросы по Delphi 2007 Энинг Помощь студентам 22 04.01.2008 14:40
С++ и Delphi. Вопросы UnD)eaD)Snake Общие вопросы C/C++ 3 21.08.2007 20:11
Разные справочники по Delphi Egych Свободное общение 3 12.02.2007 12:14