|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.04.2007, 00:12 | #1 |
Новичок
Джуниор
Регистрация: 18.04.2007
Сообщений: 2
|
Дипломная работа: Программа по составлению расписания...
Программа разрабатывается в Delphi 7. Разработан интерфейс... Но главной и основной задачей является написать условия зависимости рабочих и нерабочих дней преподавателей.. В зависимости от которых будут расставляться предметы.. В задумке автоматическая расстановка предметов и ручная.. Для ручной как и для автоматической как раз необходима зависимость часов.. Если кто может помочь с данной темой, буду примногоблагодарен... Программа универсальна и возвожно её испльзование для других учебных заведений. Если кого интересуют подробности, то спрашивайте...
Программист - это диагноз
|
18.04.2007, 18:12 | #2 |
Пользователь
Регистрация: 16.04.2007
Сообщений: 15
|
А можешь поподробнее рассказать, что есть на входе и что должно быть на выходе? Может, и помогу чем
Я, как и ты, думал, что за нами прилетят,
Ошейник снимут, за ухом почешут и всё простят, Но я сплю у миски, и ты всё съел... В подарок ириска! |
19.04.2007, 11:13 | #3 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
1) 'задача составления расписания' - не тривиальная, но тут надо искать в известные алгоритмы.
2) 'зависимость дней преподавателей' так это относится к формулировке задачи, от чего сделаешь, и будет зависеть разговаривай с теми, кто будет прогой пользоваться.
Берегите друг друга!
|
21.04.2007, 04:31 | #4 |
Новичок
Джуниор
Регистрация: 18.04.2007
Сообщений: 2
|
Не, дак я всё понимаю что нужно разговаривать с заказчиком программы... так ещё и самому надо соображать))
Если расписывать конкретно что должно быть известно и что нет, то внимательно читайте и вникайте.. ещё приведу пример своего почти разработанного алгоритма: ну начну с самого начала и постараю поподробнее всё распсать и понятнее. исходными данными как известно являются: списки ин.язов, групп, предметов, преподавателей, далее идёт недельная сетка часов в которой расставляются часы для групп на предметы.. данные о преподавателях, реально там фио препадов которые ведет тот или иной предмет, их разряды, совместительства. далее идёт распределение нагрузки в которой рассчитывается нагрузка часов для преподавателей которые ведут определённые предметы у конкретных групп. далее.. график работы преподавателей. в нём мы расставляем свободные от занятий часы для конкретного перподавателя. ну а в конце само расписание, для составления которого я написал вот такой алгоритм: сразу же хочу сказать что алгоритм незаконченый (нехватает зависимости свободных и рабочих часов) 1) Рандомно выбирает предмет из списка предметов. Копирует полное название предмета. (В моём проекте список предметов это StringGrid в котором 50 строк[включая нулевую] и 3 столбца[включая нулевой]). Так вот рандомно берёт из ячейки первого столбца любой строки. а) Сразу же возникает условие..пустоты клетки. Если клетка пустая то должен продолжаться выбор предмета. И так до тех пор пока не найдёт заполненную клетку. 2) Выбранный ранее предмет необходимо поставить в ячейку грида, в котором выводится расписание. Для данного проекта эта ячейка является первой т.е. StringGrid1.Cells[1,1] вот именно сюда)), но поставить должен с множеством условий. Какие именно читайте дальше... а) Условие пустоты клетки. Если клетка в которую мы вставляем скопированный ранее предмет пустая то begin иначе возвращаемся к выбору клетки. И так далее одну за другой на этой же паралели, до тех пор пока не заполнит все ячейки. а1) Возможно немного другое условие. Но суть одна и та же. Условие ограниченного количества клеток. Т.е. сколько групп столько и будет столбцов. Т.е. ставит РАНДОМНО в любую клетку из ... возможных НА ПЕРВОЙ ПАРАЛЕЛИ минус одно положение каждый раз. Т.е. будет выкидываться одна клетка. Но в данном случа тогда возникают 2 подусловия: *) Условие заполненной клетки. Если клетка уже была заполнена, то нудно дальше искать пустую клетку... *) Условие незаполненной клетки. Если клетка пустая, то ставим, вычитаем минус одну клетку (положение) и продолжаем искать дальше пустую клетку... б) Условие совпадения предметов. Если не нужно чтобы предметы совпадали, то необходимо написать проверки: а) Если первая и последняя буквы не совпадают, то подусловие: а1) Если количество букв в слове совпадает, то возвращаемся к началу данной проврки а2) Если количество букв в слове не совпадает, то begin б) Если первая и последняя буквы совпадают, то подусловие: б1) Если количество букв в слове совпадает, то возвращаемся к началу данной проврки б2) Если количество букв в слове не совпадает, то begin в) Если первая буква совпадает, а последняя нет, то подусловие: в1) Если количество букв в слове совпадает, то возвращаемся к началу данной проврки в2) Если количество букв в слове не совпадает, то begin г) Если первая буква не совпадает, а последняя совпадает, то подусловие: г1) Если количество букв в слове совпадает, то возвращаемся к началу данной проврки г2) Если количество букв в слове не совпадает, то begin 3) Условие совместительства... пока ещё находится в стадии разработки как и нагрузка часов для предметов и свободных от занятий часов... вот такой алгоритм, как видите неполный и возможно туповатый, но какой есть))) так что если у кого есть предложения по поводу алгоритма, валяйте.. мне это на пользу только...
Программист - это диагноз
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
файл, позволяющий автоматически составлять расписание сотрудникам на месяц. | asale | Microsoft Office Excel | 1 | 16.04.2009 10:47 |
Продается дипломная работа | chnry | Фриланс | 3 | 15.06.2008 20:53 |
Дипломная программа Delphi6+Access 3000р. | Mixolap | Фриланс | 3 | 14.12.2007 20:43 |
Сводная информация по больничным из расписания | asale | Microsoft Office Excel | 6 | 27.07.2007 08:43 |