Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2007, 00:12   #1
bizkit-leech
Новичок
Джуниор
 
Аватар для bizkit-leech
 
Регистрация: 18.04.2007
Сообщений: 2
По умолчанию Дипломная работа: Программа по составлению расписания...

Программа разрабатывается в Delphi 7. Разработан интерфейс... Но главной и основной задачей является написать условия зависимости рабочих и нерабочих дней преподавателей.. В зависимости от которых будут расставляться предметы.. В задумке автоматическая расстановка предметов и ручная.. Для ручной как и для автоматической как раз необходима зависимость часов.. Если кто может помочь с данной темой, буду примногоблагодарен... Программа универсальна и возвожно её испльзование для других учебных заведений. Если кого интересуют подробности, то спрашивайте...
Программист - это диагноз
bizkit-leech вне форума Ответить с цитированием
Старый 18.04.2007, 18:12   #2
Wiggle
Пользователь
 
Аватар для Wiggle
 
Регистрация: 16.04.2007
Сообщений: 15
По умолчанию

А можешь поподробнее рассказать, что есть на входе и что должно быть на выходе? Может, и помогу чем
Я, как и ты, думал, что за нами прилетят,
Ошейник снимут, за ухом почешут и всё простят,
Но я сплю у миски, и ты всё съел... В подарок ириска!
Wiggle вне форума Ответить с цитированием
Старый 19.04.2007, 11:13   #3
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

1) 'задача составления расписания' - не тривиальная, но тут надо искать в известные алгоритмы.

2) 'зависимость дней преподавателей'
так это относится к формулировке задачи, от чего сделаешь, и будет зависеть
разговаривай с теми, кто будет прогой пользоваться.
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 21.04.2007, 04:31   #4
bizkit-leech
Новичок
Джуниор
 
Аватар для bizkit-leech
 
Регистрация: 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) Условие совместительства... пока ещё находится в стадии разработки как и нагрузка часов для предметов и свободных от занятий часов...

вот такой алгоритм, как видите неполный и возможно туповатый, но какой есть)))

так что если у кого есть предложения по поводу алгоритма, валяйте.. мне это на пользу только...
Программист - это диагноз
bizkit-leech вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
файл, позволяющий автоматически составлять расписание сотрудникам на месяц. 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