![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| aleknek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 27.2.2006 Репутация: нет Всего: нет |
Посоветуйте, пожалуйста, как написать алгоритм для программы, реализующую прохождение заявок к процессору. Должно быть двадцать заявок, одна очередь, длина заявок меняется от трёх до семи, при этом квант процессора равен пяти, это означает, если на процессор приходит заявка, длина, которой больше пяти, значит процессором, обрабатывается пять тактов, а оставшиеся идут в конец очереди.
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
так а в чем проблема?
+ разбей задачу на составляющие -- сначала напиши класс "очередь", потом реализуй "процессор" -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Задачу можно разбить на более мелкие субъекты:
1. Заявка. Атрибуты: Длина заявки. 2. Очередь. Атрибуты: Максимальная длина очереди. 3. Процессор. Атрибуты: Максимальная длина шага(кванта). Заявку удобно реализовать как Record, хотя можно и как класс, и класс, и как TObject. Очередь удобно реализовать в виде класса, реализующего дву(одно)связный список. Процессор удобно реализовать в виде класса. Собственно, это и все. -------------------- |
|||
|
||||
| aleknek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 27.2.2006 Репутация: нет Всего: нет |
Мне не совсем понятно, как это все надо написать, просто я новичок в этом деле и классы я еще никогда не писал, на Delphi я писал программки, но они были очень примитивные и простые, а тут задали курсовую я и задумался, если можно помогите пожалуйста в написании.
Заранее благодарен. |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Вот простейший класс - "Заявка"
Это сообщение отредактировал(а) Демо - 2.3.2006, 23:55 -------------------- |
|||
|
||||
| aleknek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 27.2.2006 Репутация: нет Всего: нет |
Спасибо огромное, буду пробовать.
|
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Следующий класс - "Очередь".
Очередь можно сделать как наследник стандартного класса Delphi - TList:
Это сообщение отредактировал(а) Демо - 3.3.2006, 00:36 -------------------- |
|||
|
||||
| Демо |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Ну и, наконец, класс 'Процессор':
Добавлено @ 00:43 Вот тебе весь получившийся модуль:
А в качестве тренировки предлагаю самому добавить в TProcessor установку разиера кванта (вместо константы MaxSteps), а также отладить и исправить все это дело как нужно. Это сообщение отредактировал(а) Демо - 3.3.2006, 00:50 -------------------- |
||||
|
|||||
| aleknek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 27.2.2006 Репутация: нет Всего: нет |
Спасибо, завтра попытаюсь со всем этим разобраться и довести до ума.
|
|||
|
||||
| aleknek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 27.2.2006 Репутация: нет Всего: нет |
Все равно я чего то недопонимаю, пытаюсь создать приложение, в котором будут видны заявки, которые обрабатываются процессором, а какие идут в конец очереди,т.е необходимо чтобы было десять таблиц, где дельта Т изменяеться от одного до десяти ( где дельта-время поступления заявки в систему ), не могу понять как? Посоветуйте, пожалуйста .
Это сообщение отредактировал(а) aleknek - 16.3.2006, 10:12 |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
неможеш понять что?
как 10 таблиц на форму прилепить? + зачем 10 таблиц? может проще в одной таблице 11 чтолбцов сделать? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| aleknek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 27.2.2006 Репутация: нет Всего: нет |
Таблица я думаю должна быть одна, в которой меняя дельта Т (которых, будет десять) , можно будет отследить значения FCount , а не понятно мне как в классе ТForm отобразить данные из классов TClaim, TTurn и TProcessor, может это очень примитивно, но я пока этого не понимаю. Заранее благодарен.
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
это все хорошо, но вопрос где?
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Вот это и вопрос. Смотря, где ты хочешь отобразить... -------------------- Ll 2 |
|||
|
||||
| aleknek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 27.2.2006 Репутация: нет Всего: нет |
Все это я хочу отобразить на стандартной форме класса TForm.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |