Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужна помощь с алгоритмом!!! 
:(
    Опции темы
pavelnych
Дата 21.5.2007, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



Сразу извеняюсь за свой топик, но другого выбора у меня нет.
Мне нужен алгоритм. Я давно уже закончил учиться, поэтому спешу Вас успокоить – это задача не из учебного материала.
Дело в том, что я совсем недавно устроился на работу Java программистом. В данный момент мы работаем над одним из проектов(а точнее - это моя часть в этом проекте), алгоритм к которому я и прошу Вас помочь мне написать – это мне очень поможет себя зарекомендовать на новом месте.
Задача: Есть определённое количество лифтов в доме. Все они в буднии дни работают в рандомальном порядке. То есть, при нажатии на кнопку приезжает один из лифтов(какой именно, а точнее алгоритм может быть по моему личному желанию). Есть пентхаус – при вызове лифта с которого предпочтение отдаётся именно ему и при этом неважно был ли лифт вызван на одном из этажей. Есть ещё одно положение, при котором в пятницу, в определённое время один из лифтов переходит в режим работы, при котором в течении суток он ездиет по зданию, останавливаясь на каждом из этажей в независимости от такого был он вызван или нет.
Всё.
Для этого в принципе мне и нужен алгоритм.
У меня уже есть наброски. 
Если у кого-то появится желание высказать свои идеи, то я буду очень, при очень рад.
Хочу отметить, что задача выглядит очень тривиальной, но поверьте мне это совсем ни так
Спасибо.

PM MAIL   Вверх
Maksym
Дата 21.5.2007, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 14
Всего: 62



pavelnych
эти лифты -- реальные лифты, состояние которых будет получено с датчиков, или и лифты и прочее физическое окружение (вызов лифта, пассажир застрявший в дверях) будут частью программной модели?
PM MAIL   Вверх
pavelnych
Дата 21.5.2007, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



Maksym, 
Вот как раз одна из проблем, с которой я сталкнулся при разборе этой задачи это: 1.Как узнать состояние лифта? То есть механизма отслеживания нынешнего нахождения лифта у меня нет. Это одна из важнейших проблем. Мне почему-то показалось, что будет очень каряво создать данного рода механизм. Единственное, что я точно знаю - это то, что будет currentFloor - этаж на котором было произведённо нажатие на кнопку и destinationFloor - этаж на который в данный момент направляется лифт. И уже в зависимости от направления лифтра в данный момент и этажа, где была нажата кнопка будет принято решение какой из лифтов возьмётся за это задание. 
Пассажир застрявший в дверях как-бы не рассматривался, но это как мне кажется не сильно будет мешать работе, так как алгоритм будет предусматривать выброс exception, например в том случае, если все лифты скажем застряли или не могут по каким-то техническим причинам добраться до нужного этажа. То есть nextId у всех лифтом не будет меняться после прошествия определённого времени, которое можно скажем задать для прохождения каждого этажа.
PM MAIL   Вверх
nornad
Дата 21.5.2007, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Действительно, задача выглядит довольно тривиальной.
По поводу состояния лифта - а почему бы не хранить последний этаж, на который он приехал?
Что такое nextId? Ты бы уж рассказал, что да как ты решил организовать в своём коде, а то упоминаешь что-то из того, что уже решил делать. Но мы ведь не телепаты и не в курсе, что ты уже "напридумывал".

P.S. Хотя, я, в принципе, до сих пор не вижу сложностей...


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Maksym
Дата 22.5.2007, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 14
Всего: 62



pavelnych
Не понимаю в чем проблема. Сдеалай класс-поток, который будет эмулировать лифт, класс системы управления лифтами, засинхронизированный класс интерфейса из взаимодействия (эмулирует датчики состояния и контролеры управления лифтами). И запускаешь сколько хочешь экземпляров лифтов, передавая им ссылку на из экземпляр датчиков и контроллеров. Система управления должна иметь доступ ко всему списку датчиков и контроллеров, считывая с них состояния всех лифтов и отдавая команды согласно описанной тобой логике. Для пущей интересности можно вставить в лифт, помимо генерации вызовов на этажи, герерацию разных внештатных ситуаций типа "лифт застрял, лифт долго держат на этаже, лифт остановлен пассажиром и т.п."
PM MAIL   Вверх
sergejzr
Дата 22.5.2007, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 6
Всего: 360



Модератор: Название темы должно отражать ее суть!
Можно ведь было описать в двух словах!!


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0539 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.