Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Составитель расписаний(автоматический)


Страницы:   1 2

SarDoX ©   (2005-11-04 10:03:00) 

я решил я все таки написать составитель расписаний.
но всю сложность работы понял тока спустя неделю работы. перечислю сложности:
а) у нас в лицее 7-11 классы, по 3 класса на параллеле, итого 15 классов.
б) надо учитывать
1)один учитель в один день не может вести урок у двух классов одновремеенно(так же некоторый учителя могут вести уроки как у одной параллели, так и у другой)
2)некоторые уроки должный быть парами, некторые нет
3)не должно быть дней, когда в расписании 2 физики, 2 алгебры, 2 русский, т.е. тяжелых дней(тут я решил ввести коэф сложности для каждого предмета)
4)одиночный уроки, такие как черчение, химия, геометрия и т.д
у одной параллели должны быть в один день
это далеко не весь список, чем дальше, тем хуже...
2 раза переписывал весь код.
решил было сделать генератором. получилось составлять расписание на неделю для одого класса с учетом  парный - непарных предметов, учитывается кол-во предметов в неделю, например, если в неделе одно черчение, то оно должно быть только одно.
но позже понял, что если добавить еще 2 класса в параллели, то с генератором далеко не уедешь.. а если учесть, что потом бы пришлось добавлять 4 параллели..
в общем хотелось бы узнать, каким образо можно было бы это все осуществить, как правильно организовать программу. спрашиваю не потому, что нужно халява, а потому, что уже действительно не знаю, каким образом.
а начинать другую работу очень не хочется, хочется эту добить, сделать.


Red_imp   (2005-11-10 17:49:00) [1]

to SarDoX  

Хотелось бы посмотреть на структуру БД


SarDoX   (2005-11-10 12:43:00) [2]

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


ЮЮ   (2005-11-10 08:38:00) [3]

>бд и sql я знаю, тут пролем не будет.

как то противоречит ранее сказанному:

>всю инфу хранить само собой в бд,  в разных таблицах
>для каждого учителя свою таблицу составить, 6*6(дни недели*уроки)
>если у учителя есть урок, то в соотв. клетку ставить 1,  если нет, то 0.
>для каждой параллели составить таблицу-связку урок-учитель.
>для каждого класса составить таблицу как для учителей, т.е. 6*6.


SarDoX   (2005-11-10 06:42:00) [4]

связок учитель-предмет будет стока же, скока и параллелей.


SarDoX   (2005-11-10 05:50:00) [5]

г.Владивосток
10 класс.
ну значит что я надумал...
всю инфу хранить само собой в бд,  в разных таблицах
для каждого учителя свою таблицу составить, 6*6(дни недели*уроки)
если у учителя есть урок, то в соотв. клетку ставить 1,  если нет, то 0.
для каждой параллели составить таблицу-связку урок-учитель.
для каждого класса составить таблицу как для учителей, т.е. 6*6.
генерировать расписание каждому классу по очереди
основые условия

//среда-3урок
генерировать предмет
определить через связку учителя
проверить, нет ли у учителя предмета в текущ день, т.е в среду 3 уроком, если нет, то --- другие условия, усли их пройдет, то добавить предмет и в таблицу учителя поставить 1:) , если да, то начать сначала, т.е перегенерировать предмет.
седня примусь за осуществеление. бд и sql я знаю, тут пролем не будет.
--
а бросать тему это глупо, имхо.
--
автор знает, что он хочет сделать
--
учесть все в уме невозможно. я когда тему брал, вообще не предполагал, что будет стока проблем, чем дальше писал, тем дальше ужасался. но теперь, вроде бы, все в голове уложилось.


Red_imp   (2005-11-09 17:27:00) [6]

to msguns ©

Да конечно тут все так сразу в уме учесть невозможно надо сначала только с бумажкой сидеть и все условия писать. Короче жуть полная.

to  SarDoX

извините за офтоп
Ты вобще откуда??? из какого города?


Zhekson   (2005-11-09 16:14:00) [7]

Anatoly Podgoretsky ©   (08.11.05 15:10) [20]
мда, обидели человека... не стыдно??? или соблазн унизить перевесил???

Я тоже не сразу въехал, да и Вы не мгновенно это сделали... Могли ведь и опередить ;)))


Anatoly Podgoretsky   (2005-11-09 15:55:00) [8]

arhis   (09.11.05 15:49) [29]
Зачем, этого же до пенсии хватит.


arhis   (2005-11-09 15:49:00) [9]


> А ведь есть еще "экстрачасы", это когда либо на 1,5 ставки
> (дефицит учителей), либо подменяет коллегу. В этом деле
> вообще бардак, не поддающийся никакой "автоматизации". Завуч
> (директор) запросто может отнять "лишние" часы у одного
> учителя и отдать их другому. Вне всякого "графика".


Полностью ненормальный разговор. И сколько еще скрытых условий задачи мы вместе откопаем? Автор сам не знает что хочет написать, но помощь уже требуется.

Автору мой совет - бери другую тему.


easy   (2005-11-09 10:16:00) [10]

навсякий случай, вдруг пригодится кому..
http://www.asctimetables.com/timetables_ru.html


msguns   (2005-11-09 09:33:00) [11]

>red_imp ©   (09.11.05 09:26) [26]
>..в день у учителя максимум 8 уроков а в неделю норма 18 часов

А ведь есть еще "экстрачасы", это когда либо на 1,5 ставки (дефицит учителей), либо подменяет коллегу. В этом деле вообще бардак, не поддающийся никакой "автоматизации". Завуч (директор) запросто может отнять "лишние" часы у одного учителя и отдать их другому. Вне всякого "графика".


red_imp   (2005-11-09 09:26:00) [12]

to msguns ©

Я конено согласен просто меньше условий обрабатывать:  в день у учителя максимум 8 уроков а в неделю норма 18 часов. А вобще  расписание составляется хотябы на четверть и помоему оно не меняется из-за неявки  учителей. Хотя я просто я говорю что ИМХО лучше я специально не занимался составлением расписание уроков немного другая тема.


msguns   (2005-11-08 17:38:00) [13]

>Red_imp ©   (08.11.05 16:46) [24]
>А на данном этапе попробуй начать с учителей а не с уроков. У каждого учителя есть определённое количество часов работы определённый предмет и день недели в который он выходной (может и не быть).
Хотя может это и неправильно.

Не согласен. Дело в том, что перечень предметов и программа в большинстве случаев есть вещь постоянная. А вот учителя - это как раз самое хитрое. Есть одна особенность - учителя могут отсутствовать. Например, по болезни. Поэтому я бы все же закладывался на "окна" - "свободные" уроки, которые должны быть у всех учителей. При системе, когда на любом уроке, например, математики, есть хотя бы один "свободный" учитель, нетрудно заменить любого из отсутствующих. Это поможет избежать сумбурности и хаоса в учебном процессе, когда математика заменяется неплановой физикой, в рез-те чего пропадают оба урока: физика потому что дети к ней не готовились и математика потому, что учителю на след.уроке придется не столько спрашивать, сколько объяснять новую тему, чтобы не отстать от программы.


Red_imp   (2005-11-08 16:46:00) [14]

Задача довольно интересная и непростая. Я кстати сейчас тоже занимаюсь составлением расписаний (не уроков) и у меня задача намного легче хотя могу попробовать и помочь. Есть чтото похоее с составлением графиков.

Сначала постарайся представить всю структуру сразу чтоб по ходу решения задачи не вылезали лишние задачки и проблемки. А на данном этапе попробуй начать с учителей а не с уроков. У каждого учителя есть определённое количество часов работы определённый предмет и день недели в который он выходной (может и не быть).
Хотя может это и неправильно.


arhis   (2005-11-08 15:40:00) [15]

msguns ©   (08.11.05 15:19) [21]
100% Постановка и является решением.


NORDmen   (2005-11-08 15:29:00) [16]

Удалено модератором
Примечание: МАТ и нападки на участников, отдохни три дня


msguns   (2005-11-08 15:19:00) [17]

>NORDmen ©   (08.11.05 14:24) [19]
>я вообще не въезжаю к чему этот бред. случайный генератор слов?

В чем бред ? В том, что для подобной задачи 90% решения заложено в постановке задачи?


Anatoly Podgoretsky   (2005-11-08 15:10:00) [18]

NORDmen ©   (08.11.05 14:24) [19]
Видимо не дано, попробуй еще раз внимательно прочитать, потом еще много раз подряд. Если не поможет, значит не судьба, но и не наша проблема.


NORDmen   (2005-11-08 14:24:00) [19]

2jeer:
я вообще не въезжаю к чему этот бред. случайный генератор слов?


Jeer   (2005-11-08 14:09:00) [20]

NORDmen ©   (08.11.05 14:03) [17]
SarDoX   (04.11.05 10:03)

Ребятишки !
Пока Вы не начнете с постановки задачи + необходимый мат.аппарат - это все будет "козьи потягушки".

Срочно за теорию.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо