powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм need! Попадание заданного момента или промежутка времени в заданое расписание
3 сообщений из 3, страница 1 из 1
Алгоритм need! Попадание заданного момента или промежутка времени в заданое расписание
    #37509886
Dmitry Gurianov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветы!
Имеется событие, момент наступления которого определяется одним из следующих условий либо какими-то из их допустимых комбинаций:
1. Абсолютное время (напр., совещание 14.12.2011 в 17:00)
2. Относительное время (необходимо указать абсолютное, напр. через 2 ч. после совещания, описанного выше)
3. Период, когда событие возможно (абсолютный либо относительный, напр. пьянка на работе через 1-2 часа после окончания совещания)
3. Периодичность и смещение (напр., все вышеописанное - каждый вторник каждой четной недели)

Кроме того, момент наступления события может определяться последовательностью законов, где каждый следующий закон реализуется в рамках предыдущего, т.е. более высокого по иерархии, например:
каждый високосный год > каждый квартал > каждый второй месяц > каждый 17-й день

Ищется алгоритм, который определит, возможно ли наступление события, заданного таким расписанием, в определенный момент времени или промежуток времени (в терминах примеров выше - может ли получиться, что в пасхальную неделю у нас состоится застолье).
В общем-то, видится возможность написания развесистой формулы, но если все уже придамано до нас, буду признателен наводке
Спасибо :)
...
Рейтинг: 0 / 0
Алгоритм need! Попадание заданного момента или промежутка времени в заданое расписание
    #37509921
Dmitry Gurianov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поскольку длина года и длина месяца не везде одинаковая, это сложно привести к одной периодической функции. Пока что вижу вариант такой: разбиваем год на часы (или минуты и т.д.), рендерим расписание и сохраняем его в виде битовой карты, где бит = 1, если расписание попадает на заданный час. Во время поиска нужно будет сделать просто AND, и если хотя б ы один бит = 1, то расписание попадает в искомый промежуток времени.
...
Рейтинг: 0 / 0
Алгоритм need! Попадание заданного момента или промежутка времени в заданое расписание
    #37510444
ИринаВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Gurianovвидится возможность написания развесистой формулы
Если нужна тока возможность/невозможость события, то ИМХО не надо формулу. Почему не проверять просто, список (или дерево) условий, по порядку?
Но может быть, что надо Вам не просто можно/нельзя, а желательно/нежелательно, сделать/перенести/отменить, и тд. Это уже оптимизация, Вам надо в математическое программирование. Ищите в гуглях: "линейное программирование", "динамическое программирование", "симплекс метод", "оптимальное планироание", "задача комивояжера". Удачи.

И + в любом случае не уверена что надо приводить к часам. Праздники/пасхи, перенос выходных, ввод/отмена зимнего вр. , и тд.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм need! Попадание заданного момента или промежутка времени в заданое расписание
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]