Научная статья на тему 'АРС - пакет программ автоматизированного составления расписания занятий в школе'

АРС - пакет программ автоматизированного составления расписания занятий в школе Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
665
50
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Коробова Ираида Леонидовна

Пакет программ АРС (Автоматизированное РаспиСание), разработанный в системе FOXPRO 2.5, отвечает этому требованию и предназначен для составления расписания занятий в школе в автоматическом или диалоговом режиме.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «АРС - пакет программ автоматизированного составления расписания занятий в школе»

Коробова Ираида Леонидовна

АРС - ПАКЕТ ПРОГРАММ АВТОМАТИЗИРОВАННОГО СОСТАВЛЕНИЯ РАСПИСАНИЯ ЗАНЯТИЙ В ШКОЛЕ

В связи с внедрением персональных компьютеров в практику общеобразовательных школ актуальной становится задача разработки программного обеспечения для решения задач по ведению делопроизводства, хранению и обработке информации об учащихся и работниках школы, в том числе задача автоматизации процесса составления расписания занятий. Для реальных данных многих современных школ с большим числом классов, недостатком учебных помещений, перегрузкой учителей и т.п. непосредственное применение известных алгоритмов приводит к значительному перебору, поэтому практическая ценность различных программ составления расписания определяется применяемыми в них процедурами, направленными на сокращение перебора. Важным является также способ задания и отображения исходных данных и результатов, обеспечивающий возможность работы с программой пользователя без специальной подготовки в области вычислитель-

ной техники и программирования.

Представляемый пакет программ АРС (Автоматизированное Расписание), разработанный в системе FOXPRO 2.5, отвечает этому требованию и предназначен для составления расписания занятий в школе в автоматическом или диалоговом режиме. Исходными данными являются учебные планы по классам, перечень кабинетов для занятий, характеристики кабинетов и классов, список учителей с указанием их нагрузки по классам и пожеланий, которые должны быть учтены при составлении расписания. Эти сведения записываются в соответствующие базы данных, а в результате работы формируется база данных, содержащая расписания классов, учителей и кабинетов.

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

демонстрационная версия.

Основной информацией для составления расписания является учебный план каждого класса, в котором указано количество часов в неделю по всем предметам, изучаемым в классе. Для удобства пользователя эта работа проводится в два этапа: на первом этапе составляется список предметов и базовый учебный план, информация из которого переносится в фактический учебный план, а на втором этапе фактический учебный план каждого класса уточняется. Начальная версия базового учебного плана прилагается к пакету.

Базовый учебный план представляет собой таблицу, строки которой соответствуют предметам, а столбцы классам. В основных столбцах указывается примерное количество часов каждого предмета по параллельным классам, в дополнительных столбцах задается порядок перебора предметов при составлении расписания, количество подгрупп, а также информация о предметах, нагрузка по которым распределяется полностью в один день. В последней строке указывается число классов в каждой параллели, на основании чего формируется затем список классов. Задается также количество учебных дней в неделю и максимальное количество уроков в день.

На основе базового учебного плана составляется автоматически первоначальная версия фактического учебного плана, строки которого соответствуют классам, а столбцы - предметам. После этого можно откорректировать названия классов и их учебные планы, ввести данные о количестве учеников, которые используются для проверки вместимости назначаемых кабинетов.

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

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

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

Если в списке предметов отсутствует литература, программа будет стараться распределять сдвоенные уроки для русского языка. Алгоритм работает аналогично, если русский и литературу ведет в классе один учитель.

База данных учителей содержит всю информацию, необходимую для составления расписания, а также поле "Примечания" для внесения любой другой информации, которая может использоваться в дальнейшем для просмотра или печати. Основной является информация о предмете и классах, в которых учитель ведет этот предмет. Можно указать также закрепленный кабинет и класс, в котором учитель является классным руководителем. Последняя информация может быть использована только для включения классного часа в расписание при его корректировке вручную. Суммарная нагрузка учителей подсчитывается автоматически.

Пожелания учителей задаются в следующих формах: 1) - выходные дни в определенные дни недели; 2) - не проводит

занятия в определенные учебные часы всех рабочих дней; 3) - не проводит занятия в определенные учебные часы, разные для разных дней недели; 4) - вся нагрузка распределяется на определенное число дней. Если один учитель ведет несколько предметов, пожелания в форме 1, 2 и 3 задаются отдельно для каждого предмета.

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

Исходная информация к программе структурирована таким образом, чтобы минимизировать количество текстовой информации, вводимой пользователем. Так, названия предметов вводятся только в базовый учебный план и извлекаются из него программой в необходимых случаях. Список предметов может быть отображен на экране при необходимости. Для задания нагрузки и пожеланий учителей списки названий классов, дней недели и уроков выводятся на экран и с помощью мыши отмечаются требуемые. Аналогично задается и допустимость предметов в кабинетах. В то же время для просмотра информация выдается в привычной текстовой форме. На рис. 1 приведен вид экрана при работе с базой данных учителей. В верхней части экрана расположена линей-

ка основного меню программы, в нижнеи части показано окно ввода информации об учителях. На рис. 2 поверх таблицы фактического учебного плана классов отображено окно просмотра информации, причем сведения об учителях включаются в текст, если на момент просмотра эти сведения уже имеются в базе данных учи-телеи.

Процесс составления расписания состоит в распределении нагрузки учителеи по сетке, ячеИками котороИ являются уроки в классах. Порядок перебора учителей определяется в соответствии с заданным порядком перебора предметов и резервом уроков учителя, которыИ вычисляется в зависимости от его нагрузки и пожеланиИ. На основе информации из по-леИ баз данных формируются компактные массивы в оперативноИ памяти, определяются шифры для кодирования предметов, учителеИ и кабинетов. В пакете реализован алгоритм перебора с возвращениями, в котором используются различные оптимизирующие процедуры. Некоторые параметры алгоритма определяют степень автоматизации при построении расписания и могут быть изменены пользователем, в меню имеется пункт настроИ-ки.

Распределение уроков учителя производится обычно от младших классов к старшим. Рациональнее распределение от классов с большеИ нагрузкоИ к классам с меньшеИ нагруз-коИ, поэтому предусмотрена возможность изменения порядка перебора классов на противоположныИ в процессе вычислениИ для определенноИ группы учи-телеИ.

Если на некотором этапе становится невозможным распределить все уроки какого-либо учителя, определяется возмож-

ность и перспективность замены ранее распределенных уроков этого или предыдущих учителеИ. При невозможности замены выдается сообщение о необходимости корректировки расписания вручную. В определенных случаях выход на корректировку не производится, а оставшиеся уроки распределяются в режиме окончания с помощью другого алгоритма, предназначенного также для устранения окон в первоначально построенном расписании учеников (кроме классов начальноИ школы).

При построении расписания на экране отображается информация о предмете, учителе и классе, для которых распределяются уроки в данныИ момент. За процессом построения расписания можно также наблюдать по схеме, на котороИ предметы отображаются прямоугольниками разных цветов, строки схемы соответствуют классам, а столбцы - урокам. Пользователь имеет возможность остановить процесс и продолжить его после просмотра или корректировки полученного расписания. Промежуточные версии можно запоминать и снова к ним возвращаться, изменив какие-либо данные, например, пожелания учителеИ или отдельные уроки в расписании. Таким образом, расписание может составляться последовательно в диалоговом режиме. Алгоритмы про-

граммы достаточно эффективны, поэтому затраченное время в большей степени определяется количеством и временем выполнения корректировок. Предусмотрена возможность быстрого удаления всех или некоторых уроков учителя из расписания, что может быть полезно при модификации уже составленного расписания.

Корректировка расписания возможна при работе с расписанием учеников или учителей. При нажатии определенных клавиш можно получить дополнительную информацию о соответствии расписания плановым параметрам, а также фрагменты расписания отдельного класса или учителя, в которых разными цветами будут выделены предметы в расписании класса или классы в расписании учителя, для которых количество распределенных часов не соответствует плановому. Выбор фрагмента производится установкой курсора на названии предмета в расписании классов, или на названии класса в расписании учителей, или выбором соответствующей строки в окне дополнительной информации. В фрагменте расписания класса в свободных позициях будут поля для ввода уроков учителя, из расписания которого данный фрагмент вызывался.

На рис. 3 показан вид экрана при просмотре расписания учеников после нажатия клавиши Р3. Текущей является строка четвертого урока 6а класса, курсор указывает на поле вторника (урок иностранного языка), а в верхней части экрана расположено окно просмотра. Так как класс делится на две подгруппы, приведено расписание двух учителей, при большем количестве подгрупп можно получить все возможные сочетания учителей по два, повторно нажимая Р3. Во второй строке окна указывается, соответствует ли распределенное количество часов заданной нагрузке учителя. В нижней части экрана расположено окно подсказок, аналогичные окна на рис. 1 и рис. 2 скрыты под окнами ввода и просмотра данных. При нажатии Р4 в нижней части экрана

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

На рис. 4 приведен вид экрана при просмотре расписания учителей, в котором указываются классы и кабинеты. Окно в верхней части экрана появилось после нажатия клавиши редактирования F4. Предварительно курсор был установлен на 10а классе в расписании учителя биологии Васильевой. Поэтому в верхнем окне отображается расписание указанного класса с полями для ввода уроков этого учителя. Разными цветами в расписании класса выделены уроки истории (распределены еще не все) и ОИВТ (лишний урок, так как занятия в двух подгруппах ведет один учитель). Остальные предметы распределены в соответствии с планом. Для мониторов типа EGA или VGA возможен переход к экрану с увеличенным числом строк, что более удобно при работе с расписаниями. После корректировки или изменения исходных данных построение расписания может быть продолжено в автоматическом режиме.

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

форме, которые можно распечатать на принтере. При переходе к следующему учебному году предусмотрено преобразование исходных данных, облегчающее их модификацию. Для работы с пакетом АРС

требуется 1ВМ-совместимый компьютер на базе 386 процессора и выше и около 4 Мбайт на жестком диске. Пакет используется в ряде школ Санкт-Петербурга.

НАШИ АВТОРЫ

Коробова Ираида Леонидовна, кандидат физико-математических наук, доцент Балтийского государственного технического университета.

i Надоели баннеры? Вы всегда можете отключить рекламу.