Информационная система контроля и статистического учета успеваемости студентов

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 31.05.2016
Размер файла 755,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Форма содержит следующие поля:

Поле Военная кафедра (заполняется диспетчером в случае, когда студент будет обучаться на ней);

Поля Курс, Специальность, Форма Обучения не редактируемые. Их значения меняются при изменении параметров обучения студента после нажатия кнопки движение контингента.

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

Поля Фамилия, Имя, Отчество, Адрес местожительства, Год окончания школы, Паспорт заполняются в соответствии с данными студента после нажатии кнопки Редактировать на панели навигатора;

Поле Пол заполняется в зависимости от половой принадлежности студента из выпадающего списка;

Поле Телефон заполняется по приведенной маске. (Например: 5-45-45);

Поле Гражданство заполняется из выпадающего списка;

Поля Условие обучения, Дата зачисления, Дата отчисления, Приказ о зачислении, Приказ об отчислении не редактируемые, т.к. изменения по ним вносятся в форме Движение контингента по кнопке ;

Поля Заключение договора с институтом и Заключение договора с предприятием заполняются при заключении студентом соответствующих договоров;

В поле Примечание вводится любая дополнительная информация по студенту;

В поле Фото по правой кнопки «мыши» загружается фотография соответствующего студента в формате *.bmp.

Если необходимо удалить запись, то на панели "Навигатора" существует кнопка "Удалить", при нажатии на которую появляется окно диалога "Confirm". Для удаления записи необходимо нажать кнопку "Yes" или "No" в противном случае.

При нажатии на панель "ПРЕПОДАВАТЕЛИ" на экране появляется форма для просмотра и ввода информации о преподавателях, где представлены требуемые данные в зависимости от выбранной кафедры. Ввод данных и просмотр осуществляется аналогично форме "СТУДЕНТЫ".

Если пользователю необходимо внести коррекцию или просмотреть справочную информацию, которая используется в процессе работы с приложением, то нужно "щелкнуть" левой кнопкой мыши на панель "СПРАВОЧНИКИ" (рис 2.6.). Данная форма в зависимости от выбранной информации содержит еще 11 форм.

Здесь ввод данных осуществляется с помощью клавиатуры и кнопок панели "Навигатора" в зависимости от выбранной таблицы.

Рис. 2.6. Форма для ввода и просмотра справочной информации.

Ввод учебного плана, в зависимости от выбранной группы и семестра, производится после нажатия панели "УЧЕБНЫЙ ПЛАН" (рис. 2.7.).

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

Рис. 2.7. Форма для ввода учебного плана.

При нажатии на панель "УСПЕВАЕМОСТЬ" на экране появится форма для ввода и просмотра успеваемости студентов в зависимости от группы и семестра. Чтобы ввести данные об успеваемости того или иного студента пользователю необходимо указать курсором на соответствующую группу, на фамилию конкретного студента и на семестр, в течение которого студент сдавал экзамены.

В зависимости от выбранного семестра на панели формы появится список предметов и форм отчетности по данному предмету. В окне для ввода даты и оценки необходимо указать соответствующие данные (рис. 2.8.).

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

Рис. 2.8. Форма для ввода успеваемости конкретного студента.

Форма для создания программным путем различных видов отчетностей, в зависимости от выбранного параметра появляется при выборе панели "ОТЧЕТЫ"

Здесь в зависимости от создаваемого отчета производится выбор соответствующих полей. Например, для создания отчета по успеваемости, нужно нажать на пиктограмму с всплывающей подсказкой "Группа", выбрать индекс соответствующей группы и семестр, а затем нажать на пиктограмму с подсказкой "Вывод отчета в редактор Word". Автоматически загрузится редактор Microsoft Word, где в удобном и привычном для пользователя интерфейсе можно откорректировать соответствующий отчет. Также можно создать программно форму для заполнения экзаменационной ведомости. Для этого необходимо выбрать пункт "Экзаменационная ведомость", на форме появятся панели выбора группы, семестра, предмета, названия кафедры и фамилия преподавателя, читающего ту или иную дисциплину. Пользователю остается лишь нажать на пиктограмму с выводом в редактор Word.

Если пользователю необходимо в списке преподавателей или студентов найти отдельную фамилию, то нужно нажать на панель "ПОИСК" и на экране появится форма, корректирующая список студентов и преподавателей, зависящая от способа фильтрации. (рис 2.11).

Рис. 2.11. Поиск студентов

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

создать список студентов;

откорректировать список;

сделать статистику по отдельно взятому отфильтрованному списку и вывести все в редактор Word.

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

Форма для создания программным путем различных видов статистической отчетности (приложение 4-10), в зависимости от выбранного параметра появляется при выборе панели "СТАТИСТИКА" (рис.2.13).

Здесь в зависимости от создаваемого статистического отчета производится выбор соответствующих полей. Например, для создания отчета по форме 3НК, нужно нажать на соответствующее поле с синей подсветкой. Потом выбрать нужный вид отчетности, в зависимости от предложенных надписей и нажать на пиктограмму с подсказкой "Вывод отчета в редактор Word". Автоматически загрузится редактор Microsoft Word, где в удобном и привычном для пользователя интерфейсе можно откорректировать соответствующий отчет.

Рис. 2.13. Форма для создания статистической отчетности.

2.3 Руководство программисту

2.3.1 Состав программы

Программа имеет имя MasterStud. Для реализации программы выбрана визуальная среда программирования Delphi 5.0.

Программа представляется 36 модулями, все вместе содержат 216 процедур и 16 функций.

Модули разделены на главные и починенные. Главные модули описаны в п. 2.3.2 - 2.3.10. К подчиненным модулям относятся:

AboutFUnit - вспомогательные модуль, здесь содержится описание формы "О пограмме". AboutFUnit использует основная программа Master Stud.

AkademPraktRUnit - вспомогательные модуль, содержит продолжение формы "Академическая справка", выводит на экран часть отчета, с информацией о практике. Используется модулем AkademReportFUnit.

AkademRepRUnit - вспомогательные модуль, содержит создание "шапки" академической справки. Создается с помощью компоненты Qreport. Используется модулем AkademReportFUnit.

AkademUspRUnit - вспомогательные модуль, содержит создание второй половины академической справки, с информацией о пройденных дисциплинах. Создается с помощью компоненты Qreport. Используется модулем AkademReportFUnit.

AskAkademFUnit - вспомогательные модуль, содержит описание формы "Предоставить академический отпуск". Используется модулем StudentFUnit.

AskFlyFUnit - вспомогательный модуль, содержит описание формы "Отчислить". Используется модулем StudentFUnit.

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

AskVostFUnit - вспомогательный модуль, содержит описание формы "Восстановить". Выбирается группа, в которую восстанавливается студент, вводится дата и номер приказа. Используется модулем StudentFUnit.

Diplom1RUnit - вспомогательные модуль, содержит создание "шапки" приложения к диплому. Создается с помощью компоненты QReport. Используется модулем DiplomFUnit.

Diplom2RUnit - вспомогательные модуль, содержит нижнюю часть титульного листа приложения к диплому. Создается с помощью компоненты QReport. Используется модулем DiplomFUnit.

Diplom3RUnit - вспомогательные модуль, содержит создание второй половины приложения к диплому, с информацией о пройденных дисциплинах. Создается с помощью компоненты QReport. Используется модулем DiplomFUnit.

GetSemestrFUnit - вспомогательный модуль, содержит создание формы "Выберите семестр". Используется модулем UspevaemostRFUnit для создания отчета по успеваемости по отфильтрованному списку студентов.

SrBalFUnit - вспомогательный модуль, содержит создание таблица анализа успеваемости по среднему баллу для конкретной сессии. Используются компоненты DecisionCube, DecisionSource, DecisionPivot и DecisionGrid.

WaitUnit - вспомогательный модуль, содержит создание формы с надписью "Ждите, идет загрузка Word". Используется всеми модулями, где происходит вывод отчетов в редактор Word.

ZastavkaFUnit - вспомогательный модуль. Содержит создание формы- заставки при запуске программы. Используется модулем MasterStud.

Рассмотрим подробнее главные модули.

2.3.2 Модуль MainUnit

Интерфейс пользователя строился на основе главной формы. Все рабочие формы вызываются при нажатии соответствующих панелей. Глобальной переменной является:

CurentForm : TForm - ссылается на другой модуль, в зависимости от обработки.

При работе подключаются модули:

StudentF, DirectoryFUnit, DataUnit, Prepod, FilterF, PrepodFiltr, UchPlanFUnit, UspevaemostFUnit, UspevaemostRFUnit, VedomostExFUnit, StatFUnit, MoveRUnit, MoneyFUnit, NK3FUnit, AkademReportFUnit, DiplomFUnit, UspBlokFUnit, SrBalFUnit, BallFUnit, BlokSpecFUnit, ZastavkaFUnit, AboutFUnit;

В модуле используются процедуры:

PROCEDURE TMainForm.AllPanelsDown;

Преобразует все восемь панелей в виде ниспадающих ступенек.

PROCEDURE Panel3Click(Sender: TObject);

Обрабатывает активизацию панели "СПРАВОЧНИКИ".

PROCEDURE TMainForm.Panel4Click(Sender: TObject);

Открывает форму для работы с подсистемой "СТУДЕНТЫ".

PROCEDURE TMainForm.Panel5Click(Sender: TObject);

Открывает форму для ввода и просмотра информации о преподавателях.

PROCEDURE TMainForm.Panel6Click(Sender: TObject);

Активизирует панель для работы с подсистемой "ОТЧЕТЫ"

PROCEDURE TMainForm.Panel7Click(Sender: TObject);

Открывается форма для работы с подсистемой "СТАТИСТИКА".

PROCEDURE TMainForm.Panel8Click(Sender: TObject);

Подключается форма для ввода учебного плана.

PROCEDURE TMainForm.Panel9Click(Sender: TObject);

Открывает форму для ввода и просмотра успеваемости студентов. Использует ссылку на модуль StudentF.

PROCEDURE TMainForm.Panel10Click(Sender: TObject);

Открывается форма для работы с подсистемой "ПОИСК".

PROCEDURE TMainForm.ListBox1Click(Sender: TObject);

Открывается страничка со всеми используемыми справочниками.

PROCEDURE TMainForm.ListBox2Click(Sender: TObject);

Открывается страничка для работы с подсистемой "ПОИСК".

Здесь в зависимости от выбора "Студенты" или "Преподаватели" осуществляется поиск записей в соответствующих таблицах.

PROCEDURE TMainForm.ListBox3Click(Sender: TObject);

Открывается страничка для работы с отчетами. Реализует выбор необходимого вида отчета и подключает соответствующие модули.

PROCEDURE TMainForm.ListBox4Click(Sender: TObject);

Осуществляется работа с подсистемой "СТАТИСТИКА".

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

PROCEDURE TMainForm.N22Click(Sender: TObject);

Таких процедур 18. Они осуществляют вызов процедур обработки из верхнего меню, т.е. дублируют описанные выше процедуры.

PROCEDURE TMainForm.SetForm;

Подключается форма для работы с модулем " Экзаменационные ведомости"

PROCEDURE TMainForm.TV1Change(Sender: TObject; Node: TTreeNode);

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

Текст модуля приведен в приложении 3 на стр.

2.3.3 Модуль DataUnit

Модуль осуществляет управление таблицами базы данных. В нем содержатся указатели на следующие таблицы: Zvanie, BlocDisc, Dolgnost, Usl_obuchen, Kafedra, OcenkiF, Otchetnost, Predmet, Special, Stepen, Gruppa, Prepod. Поля каждой таблицы описаны в п.1.5 в таблицах 1.17, 1.8, 1.15, 1.2, 1.14, 1.9, 1.10, 1.7, 1.4, 1.16, 1.3, 1.13 соответственно.

В модуле используются следующие процедуры.

PROCEDURE GruppaAfterScroll(DataSet: TDataSet) - процедура позволяет выбрать индекс группы, где обучаются студенты. Окно с выбором группы используется в нескольких модулях:

UspevaemostFUnit - для ввода успеваемости по студенту;

StudentF - для ввода новых данных по студенту;

VedomostExFUnit - для создания экзаменационной ведомости по группе;

BallFUnit - для расчета среднего балла по успеваемости за текущую сессий для группы.

PROCEDURE GruppaNewRecord(DataSet: TDataSet) - процедура проверяет ввод новой записи в группу, в зависимости от признака группы.

Используется строковая локальная переменная s.

Если признак s='Учебные группы', тогда параметр IsNoGruppa принимает значение 'У' , иначе s='Закончившие обучение', тогда IsNoGruppa = 'З'. Или s='Отчисленные студенты', тогда IsNoGruppa ='О', иначе s='Академотпуск', то IsNoGruppa ='А'.

PROCEDURE SpecialAfterScroll(DataSet: TDataSet) - процедура проверяет на наличие ошибки при выборе формы обучения для специальности 010200, т.к. по вечерней форме обучение по этой специальности не предусмотрено.

2.3.4 Модуль StаtF

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

В модуле используется глобальная переменная V типа Variant, определенная в модуле UspevaemostRFUnit, которая ссылается на интерфейс Microsoft Word. Также в модуле описана глобальная переменная, определяющая первый семестр курса FirstSemestr : integer=0. Расчёт курса производится из нечётного семестра. , где n = FirstSemestr.

Статистический расчет сроится на основе SQL-запросов. Для создания сведений по дисциплинам построены следующие запросы:

Predmet - выделяет из успеваемости за текущий семестр предметы, по которым сдавались только экзамены.

Spisok - выделяет списочное количество студентов по всем курсам.

Price - отбирает оценки, полученные на экзаменах за текущую сессию.

Akadem - выделяет количество студентов, находящихся в академическом отпуске.

Stud - отбирает количество студентов, участвовавших в сессии.

В модуле используются следующие основные процедуры и функции.

PROCEDURE ShowDisc; - процедура формирования сведений по дисциплинам.

Используются локальные переменные:

d1,d2,f : string - переменные строкового типа. d1 и d2 - идентифицируют дату начала и конца сессии, f - задает значение формы обучения.

sp,ak,sd,otl,hor,ud : integer - переменные целого типа, где sp - списочное количество студентов, ak - количество студентов, находящиеся в академическом отпуске, sd - количество студентов сдававших сессию, otl, hor, ud - количество полученных пятерок, четверок и троек соответственно.

PROCEDURE ShowHod; - процедура формирования сводки о ходе экзаменов.

Используются локальные переменные:

d1,d2,f : string - переменные строкового типа. d1 и d2 - идентифицируют дату начала и конца сессии, f - задает значение формы обучения.

sp,ob,jv,sd,otl,hor,ud,neud,per,i,sdali : integer - переменные целого типа, где sp - списочное количество студентов, ob - количество студентов, обязанных сдавать сессию, jv - количество студентов, явившихся на экзамен, sd - количество студентов сдававших сессию, otl, hor, ud, neud - количество полученных пятерок, четверок, троек и двоек соответственно, per - количество переносов, i - счетчик оценок, sdali - количество студентов сдавших все экзамены.

PROCEDURE ShowRes; - процедура формирования сведений о результатах сессии.

Используются локальные переменные:

d1, d2, f : string - переменные строкового типа. d1 и d2 - идентифицируют дату начала и конца сессии, f - задает значение формы обучения.

sp, ob, per, perprice, sd, otl, hor, smesh, ud, neud, neud1, neud2, neud3, i, j, sdali : integer - переменные целого типа, где sp - списочное количество студентов, ob - количество студентов, обязанных сдавать сессию, per - количество студентов не сдавших все экзамены, perprice - количество студентов не сдавших часть экзаменов, sd - количество успевающих студентов по всем предметам, otl, hor, smesh, ud - количество студентов, сдавших экзамены только на отлично, только на хорошо и отлично, на смешанные оценки, только на удовлетворительно соответственно, neud - количество студентов получивших неудовлетворительную оценку, neud1, neud2, neud3 - студенты получившие только одну, две, три неудовлетворительные оценки соответственно, i, j - промежуточные счетчики, sdali - количество сдавших все экзамены.

FUNCTION Count(D:TDataSet): integer - функция суммирования полей среди всех записей в таблице. Присваивает переменной sp списочное количество студентов.

FUNCTION Sdhcount:integer - функция расчета количества студентов, сдавших сессию.

2.3.5 Модуль MoneyF

Модуль формирует статистическую отчетность по движению контингента для бухгалтерии по форме 3/2 в зависимости от формы и условия обучения студентов.

В модуле используется глобальная переменная V типа Variant, определенная в модуле UspevaemostRFUnit, которая ссылается на интерфейс Microsoft Word. Статистический расчет сроится на основе SQL-запросов. Для создания сведений по дисциплинам построены следующие запросы:

Spisok - выделяет списочное количество студентов по всем курсам.

Prib - выделяет количество студентов прибывших на факультет №2.

Fly - выделяет количество студентов отчисленных из института.

FU - изменение формы и условий обучения студента.

Srednee - расчет среднего количества студентов.

В модуле используются следующие основные процедуры и функции:

FUNCTION IsUsl(u : string): boolean - функция выбора параметров условий обучения студентов для расчета

FUNCTION Count(D:TDataSet; s : string):integer - функция для расчета колонок для создания справки по движению контингента;

FUNCTION CountO(D:TDataSet; s : string):integer - функция для расчета колонок для создания отчета по форме 3/2;

FUNCTION CountR(D:TDataSet; s : string):integer - функция для расчета колонок для создания отчета по разделу "А";

FUNCTION CountRS(oper,s : string):real - функция для расчета среднегодового количества студентов.

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

PROCEDURE Otchet - процедура создания справки к отчету по форме 3/2 в зависимости от формы обучения, условия обучения и периода на который производится расчет.

PROCEDURE RazdelA - процедура создания справки к отчету по форме 3/2 (раздел "А") в зависимости от формы обучения, условия обучения и периода на который производится расчет.

2.3.6 Модуль MoveRUnit

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

В модуле используется глобальная переменная V типа Variant, определенная в модуле UspevaemostRFUnit, которая ссылается на интерфейс Microsoft Word. Статистический расчет сроится на основе SQL-запросов. Для создания сведений по дисциплинам построены следующие запросы:

Spisok - выделяет списочное количество студентов по всем курсам.

Akadem - выделяет количество студентов, находящихся в академическом отпуске.

Prib - выделяет количество студентов прибывших на факультет №2.

Fly - выделяет количество студентов отчисленных из института.

FU - изменение формы и условий обучения студента.

Srednee - расчет среднего количества студентов.

В модуле используются следующие основные процедуры и функции:

PROCEDURE SpisokFilterRecord(DataSet: TDataSet; var Accept: Boolean);

PROCEDURE AkademFilterRecord(DataSet: TDataSet; var Accept: Boolean);

PROCEDURE PribFilterRecord(DataSet: TDataSet; var Accept: Boolean);

PROCEDURE FlyFilterRecord(DataSet: TDataSet; var Accept: Boolean);

Это процедуры фильтрации в SQL-запросах списка студентов по условию обучения.

PROCEDURE BitBtn1Click(Sender: TObject) - процедура формирования сводки движения контингента студентов за выбранный период.

FUNCTION IsUsl(u : string): boolean - функция выбора параметров условий обучения студентов для расчета.

FUNCTION Count(D:TDataSet; s : string):integer - функция расчета количества студентов по колонкам в таблице.

2.3.7 Модуль NK3FUnit

Модуль формирует сведения по форме 3НК.

В модуле используется глобальная переменная V типа Variant, определенная в модуле UspevaemostRFUnit, которая ссылается на интерфейс Microsoft Word. Статистический расчет сроится на основе SQL-запросов. Для создания сведений по дисциплинам построены следующие запросы:

Spec - Распределяет численность студентов в учебных группах по специальностям.

Spisok - выделяет списочное количество студентов по всем курсам в зависимости от специальности.

Pol - выделяет общее количество студентов женского пола по специальностям.

PriARH - выделяет количество студентов по специальностям, которые зачислены и окончили обучение.

Plat - выделяет количество студентов, обучающихся на платной основе.

PlatPrin - выделяет количество студентов, принятых на платное обучение.

Akadem - выделяет количество студентов, находящихся в академическом отпуске.

SNG - выделяет количество студентов, в зависимости от гражданства.

GrPriARH - выделяет количество студентов в зависимости от гражданства, которые зачислены и окончили обучение.

Vozrast - рассчитывает количество студентов по возрасту.

В модуле используются следующие основные процедуры и функции:

FUNCTION Count(D:TDataSet):integer - присваивает переменной целого типа sp значение списочного количества студентов;

FUNCTION CountP(D:TDataSet; f,s : string):integer;

FUNCTION CountPD(D:TDataSet; f,s : string):integer;

FUNCTION CountV(D:TDataSet; p : string; from,t : integer):integer - функция расчета количества студентов по возрастам в зависимости от даты рождения

FUNCTION KodCountry(c : string): string - функция присваивает код государства по СОАТО в зависимости от гражданства студента;

где с - переменная, содержащая краткое наименование государства.

FUNCTION NameCountry(c : string): string - функция присваивает полное название страны в зависимости от гражданства студента,

где с - переменная, содержащая краткое наименование государства.

PROCEDURE BitBtn1Click(Sender: TObject) - процедура реализует в зависимости от выбранного отчета вывод в редактор Word.

PROCEDURE Kurs - процедура реализует создание сведений о распределении студентов по курсам и специальностям.

В процедуре используются локальные переменные:

f : string - переменная, определяющая форму обучения.

s : array [1..6] of integer - массив, содержащий значения полей таблицы.

i : integer - счетчик столбцов в таблице.

PROCEDURE Lgota - процедура создает сведения о распределении численности студентов по категориям льготного обеспечения

В процедуре используются локальные переменные:

f : string - переменная, определяющая форму обучения.

i : integer - счетчик столбцов в таблице.

PROCEDURE VozPol - процедура реализует создание сведений о составе студентов по возрасту и полу.

f : string - переменная, определяющая форму обучения.

i, k: integer - счетчики.

PROCEDURE Country - процедура реализует создание сведений о численности студентов, постоянно проживающих на территории государств, входящих в Содружество независимых государств, и других государств на территории бывшего СССР.

В процедуре используются локальные переменные:

f : string - переменная, определяющая форму обучения.

s : array [1..6] of integer - массив, содержащий значения полей таблицы.

i : integer - счетчик столбцов в таблице.

2.3.8 Модуль BlocSpecFUnit

Модуль формирует отчет по успеваемости по блокам дисциплин в процентном соотношении.

В модуле используется глобальная переменная V типа Variant, определенная в модуле UspevaemostRFUnit, которая ссылается на интерфейс Microsoft Word. Статистический расчет сроится на основе SQL-запросов. Для создания сведений по дисциплинам построены следующие запросы:

AVGP - расчет среднего балла по всем предметам и специальностям для конкретного блока дисциплин;

COUNTP - расчет количества оценок по каждому блоку дисциплин;

NEUDP - расчет количества неудовлетворительных оценок по каждому блоку дисциплин по всем специальностям;

HORP - расчет количества отличных и хороших оценок по каждому блоку дисциплин по всем специальностям;

AVGS - расчет наибольшего и наименьшего среднего балла по всем предметам конкретного блока дисциплин для конкретной специальности;.

COUNTS - расчет количества оценок по каждому блоку дисциплин для конкретной специальности;

NEUDS - расчет количества неудовлетворительных оценок по каждому блоку дисциплин для конкретной специальности;

HORS - расчет количества отличных и хороших оценок по каждому блоку дисциплин для конкретной специальности.

В модуле используются следующие процедуры:

PROCEDURE BitBtn2Click(Sender: TObject) - процедура закрывает используемую форму.

PROCEDURE BitBtn1Click(Sender: TObject) - процедура реализует расчет результатов контрольных опросов студентов по блокам дисциплин.

2.3.9 Модуль UspBlokFUnit

Модуль формирует сводную таблицу контроля знаний студентов в зависимости от специальности по каждому блоку дисциплин.

В модуле используется глобальная переменная V типа Variant, определенная в модуле UspevaemostRFUnit, которая ссылается на интерфейс Microsoft Word. Статистический расчет сроится на основе SQL-запросов. Для создания сведений по дисциплинам построены следующие запросы:

Kurs - в зависимости от блока дисциплин выбираются курсы на которых сдавались экзамены по каждому блоку;

Spisok - расчет контингента студентов по всем формам обучения в зависимости от курса и специальности;

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

StuPrice - расчет количества студентов сдавших экзамены на отлично и хорошо, удовлетворительно и неудовлетворительно соответственно в зависимости от курса, блока дисциплин;

В модуле используются следующие процедуры:

PROCEDURE KursFilterRecord(DataSet: TDataSet; var Accept: Boolean);

PROCEDURE SpisokFilterRecord(DataSet: TDataSet; var Accept: Boolean);

PROCEDURE StudFilterRecord(DataSet: TDataSet; var Accept: Boolean);

PROCEDURE StudPriceFilterRecord(DataSet: TDataSet; var Accept: Boolean);

Это процедуры фильтрации в SQL-запросах значений в зависимости от экзаменационной сессии.

PROCEDURE BitBtn1Click(Sender: TObject) - процедура формирования сводной таблицы результатов контроля знаний студентов по циклам в зависимости от сессии.

2.3.10 Модуль UspevaemostRFUnit

Модуль формирует отчет по успеваемости по выбранной сессии.

В модуле описанная глобальная переменная V типа Variant, которая ссылается на интерфейс Microsoft Word. Статистический расчет сроится на основе SQL-запросов.

Для создания сведений по дисциплинам построены следующие запросы:

ColumnCount - формируется количество колонок в зависимости от учебного плана на текущий семестр;

GetPrice - распределяет полученные оценки по колонкам;

В модуле используются следующие процедуры:

PROCEDURE BitBtn2Click(Sender: TObject) - процедура открывает документ Word.

PROCEDURE ToolButton3Click(Sender: TObject) - процедура открывает форму выбора параметров для создания отчета по успеваемости для группы;

PROCEDURE ToolButton1Click(Sender: TObject) - процедура выводит в редактор Word отчет по успеваемости в зависимости от выбора: для группы или для студента;

PROCEDURE ToolButton4Click(Sender: TObject) - процедура открывает форму выбора параметров для создания отчета по успеваемости для студента

PROCEDURE ShowGruppa - процедура создает отчет по успеваемости для группы;

PROCEDURE ShowStudent - процедура создает отчет по успеваемости для конкретно выбранного студента;

PROCEDURE ShowColumns - процедура прорисовывает количество колонок в таблице отчета;

PROCEDURE ShowFilter - процедура создает отчет по успеваемости для отфильтрованного списка студентов;

PROCEDURE ToolButton5Click(Sender: TObject) - процедура открывает форму выбора параметров для создания отчета по успеваемости для отфильтрованного списка студентов.

2.4 Анализ результатов

В результате проектирования разработано Windows-приложение, предназначенное для учета движения контингента и контроля знаний студентов. Для реализации программы выбрана визуальная среда программирования Delphi 5.0.

С помощью этой среды разработан дружественный интерфейс пользователя, который не вызывает затруднений при работе непрофессионального пользователя.

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

В основу проектирования программного обеспечения положены следующие основные функции:

максимальная ориентация на конечного пользователя;

проблемная ориентация на решение поставленной задачи;

модульность построения, обеспечивающая модификацию и возможность наращивания программного обеспечения;

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

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

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

Созданные формы статистической отчетности полностью подтверждают достоверность оригинала.

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

3. ОРГАНИЗАЦИОННО - ЭКОНОМИЧЕСКАЯ ЧАСТЬ

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

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

Таблица 3.1.

№ п/п

Основные виды работы

Исполнители

Затраты времени, час

Составление, оформление и утверждение задания. Определение основных тенденций работы (t0).

Руководитель ДП.

Инженер 3 категории

3

Поиск и обзор необходимой литературы.

Инженер 3 категории

20

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

Инженер 3 категории

10,3

Изучение методов структурного моделирования и исследование моделей объектов и систем с применением ЭВМ.

Инженер 3 категории

15

Разработка алгоритма и его схемы для решения поставленной задачи. (tа+tса).

Инженер 3 категории

48

Программирование задачи по готовой блок-схеме (tбс).

Инженер 3 категории

7,2

Консультации с руководителем проекта для контроля проведенных разработок.

Руководитель ДП Инженер 3 категории.

22

Сбор и подготовка исходных данных. (tд)

Инженер 3 категории

78,5

Отладка и тестирование программного продукта (tотл).

Инженер 3 категории

216

Проведение анализа полученных результатов и их документирование.

Инженер 3 категории

30

Изучение стандартов по разработке технической документации.

Инженер 3 категории

10

Составление оценки технико-экономической эффективности выполняемой работы.

Инженер 3 категории

30

Проведение консультаций и осуществление контроля за выполнением и оформлением экономической части.

Консультант по экономической части

Инженер 3 категории

3

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

Инженер 3 категории

10

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

Консультант по эргономической части

Инженер 3 категории

1

Составление и оформление плакатов.

Инженер 3 категории

25

Оформление пояснительной записки дипломного проекта.

Инженер 3 категории

47

ИТОГО:

576

3.1 Расчет затрат на программирование

Себестоимость программного продукта является его главной и решающей экономической оценкой [6]. Покажем составляющие, влияющие на стоимость разработки приложения:

(3.1)

где - затраты труда разработчика (определяются по формуле (3.2));

- затраты на выполнение работы, не связанной с разработкой программы, руб.;

- затраты на специальное программное обеспечение, руб.;

- дополнительные затраты (оплата труда руководителя), руб.

Затраты инженера -программиста на разработку программы составляют:

, (3.2)

где - затраты на алгоритмизацию и программирование задачи, руб.;

- коэффициент накладных расходов: ;

- затраты на отладку программы, руб.

Затраты на алгоритмизацию и программирование задачи составляют:

, (3.3)

где - часовая заработная плата одного работника, руб./час.;

- затраты труда на программирование, ч;

- затраты труда на отладку программы, ч.

Затраты на отладку программы определяются по формуле:

, (3.4)

где - стоимость одного машино-часа, руб.

Затраты инженера-разработчика на работу, не связанную с разработкой и отладкой программы, составляют:

, (3.5)

где - общее время, отведенное на проектирование, ч.

Расчет фонда оплаты труда производится исходя количества часов и зарплаты (табл. 3.2.)

Таблица 3.2.

№ п/п

Должность

Зарплата руб./час

Количество часов

Зарплата ВСЕГО

1.

Руководитель дипломного проекта.

33,26

23

764,98

2.

Консультант по организационно-экономической части.

33,26

3

99,78

3.

Консультант по безопасности жизнедеятельности.

22,18

1

22,18

Стоимость программного обеспечения рассчитывается по последним Price-листам (таблица 3.3.)

Таблица 3.3.

№ п/п

Наименование программного обеспечения

Стоимость

1.

DELPHI 5.0.

21951 руб.

2.

WINDOWS' 98

5589 руб.

3.

MS Offise 97 PRO

6237 руб.

3.1.1 Определение трудоемкости программирования

Трудоемкость программирования определяется по типовым нормам программирования.

Используется следующая методика определения трудоемкости программирования [6]:

, (3.6)

где - затраты на получение и описание задачи (точной формулировки для определения не существует, но обычно принимают 10 ;

- затраты труда на разработку алгоритма задачи;

- затраты труда на разработку схемы алгоритма;

- затраты труда на программирование по готовой блок-схеме;

- затраты труда на отладку программы;

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

Слагаемые и определяются через условное количество операторов или команд Q в составленной программе:

, (3.7)

где с - коэффициент сложности программы: c = 1 2;

- увеличение объема работ за счет внесения изменений в алгоритм или программу;

- предположительное число команд или операторов.

Положим c = 1, q = 600, а в процессе разработки программы были внесены 4 коррекции, которые привели к 20 % изменению алгоритма p= 0,2.

Тогда: Q=600*1*(1+0,2)=720 .

Зависимости и от Q имеют вид:

(3.8)

(3.9)

(3.10)

(3.11)

(3.12)

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

При стаже работы меньше 2 лет k = 0,8;

- коэффициент автоматизации программирования на конкретном языке,

= 0,5;

- коэффициент автоматизации отладки программы, =0,8;

A - коэффициент затрат на алгоритмизацию, характеризующий отношение затрат труда на разработку алгоритма к затратам труда на программирование: A = 0,4 0,7. Возьмём A = 0,5.

ч. ч.

ч. ч.

ч.

Таким образом, трудоемкость на всех этапах программирования равна

t = 3+18+30+7,2+216+78,5=352,95 час.

3.1.2 Определение стоимости машино-часа

Стоимость одного машино-часа:

, (3.13)

где И - текущие издержки функционирования ПЭВМ, руб.;

- эффективный годовой фонд рабочего времени ПЭВМ, час.

Его величина определяется следующим образом:

, (3.14)

где - календарный фонд рабочего времени (без праздников);

- время профилактических работ (= 417);

- коэффициент загрузки ПЭВМ, = 0,8.

В месяце, в среднем, 22 рабочих дня, а продолжительность рабочего дня - 8 часов, тогда

= (12 * 22 * 8 - 417) *8 = 1356 ч.

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

, (3.15)

где - годовой фонд заработной платы персонала ВЦ, руб.;

- стоимость основных и вспомогательных материалов, руб.;

- сумма амортизационных отчислений на оборудование в ценах текущего года, руб.;

- затраты на текущий ремонт и содержание технических средств, руб.;

- затраты на электроэнергию, руб.;

- амортизационные отчисления на капитальный ремонт зданий и затраты на текущий ремонт помещений в расчете на единицу площади, занимаемых оборудованием, руб.;

- прочие производственные затраты, связанные с производством информационной продукции ВЦ, руб..

Фонд годовой заработной платы персонала рассчитывается следующим образом:

, (3.16)

где - среднегодовая численность персонала по штатному расписанию,

= 1 чел;

- среднегодовая основная заработная плата одного работника,

= 6000 руб.;

- коэффициент, учитывающий отчисления:

17

Размещено на http://allbest.ru

на социальное страхова17

Размещено на http://allbest.ru

ние - 5,4%,

в фонд занятости - 1,5%,

17

Размещено на http://allbest.ru

в фонд обязательного медицинского страхо17

Размещено на http://allbest.ru

вания - 3,6%,

в пенсионный фонд - 28% (в процентах к основной заработной плате персо17

Размещено на http://allbest.ru

нала),

= 38,5.

= 1 * 6000* (1 + 0,385) = 8310 руб.

Стоимость основных и вспомогательных материалов составляет 1 2% стоимости средств вычислительной техники:

= 21600 * 0,015 = 324 руб.

Сумма амортизации для вычислительной техники составляет 25% ее первоначальной стоимости:

= 21600 * 0,25 = 5400 руб.

Затраты на текущий ремонт и содержание средств вычислительной техники и вспомогательного оборудования предусматриваются в размере 2,5 5% стоимости технических средств:

= 21600 * 0,025 = 540 руб.

Затраты на электроэнергию Зэл определяются по формуле:

, (3.17)

где - суммарная мощность установленных технических средств, кВтч.

Мощность ПЭВМ, включая периферийные устройства, не более 300 Вт, мощность осветительных приборов не более 200 Вт. Значит, = 0,5 кВтч;

- стоимость 1 кВт ч электроэнергии с учетом НДС:

= 1,46 + 20%НДС = 1,75 руб./кВт ч;

- коэффициент использования мощности ПЭВМ: =0,60,85,

= 0,8;

= 0,5 * 1356* 1,75 * 0,8 = 949,2 руб.

Амортизационные отчисления на капитальный ремонт зданий и затраты на текущий ремонт помещений в расчете на единицу площади, занимаемых оборудованием определим из предположения, что стоимость содержания 1 м2 - 126 руб., достаточная площадь - 5 м2, а значит

= 126* 5 = 630 руб.

Прочие затраты составляют 0,25% стоимости технических средств:

= 21600 * 0,0025 = 54 руб.

Таким образом, величина текущих издержек составляет:

И = 16207, 2 руб.

Тогда стоимость одного машино-часа:

руб./час.

3.1.3 Расчет себестоимости программного продукта

Затраты на алгоритмизацию и программирование задачи, на выполнение работы, не связанной с выполнением программы, а также на отладку программы, вычисляются соответственно по формулам (3.3) - (3.5).

Затраты труда на программирование 352,95 ч.

Затраты труда на отладку программы =216 ч.

Коэффициент накладных расходов =1,7.

Общее время проектирования Т=549 часов.

Тогда имеем:

руб,

,

руб.,

Следовательно, затраты программиста на разработку и отладку программы составят:

,

Тогда себестоимость программного продукта, созданного в процессе дипломного проектирования рассчитывается как сумма затрат инженера на программирование, фонда оплаты труда руководителя дипломного проекта и консультантов (с учетом отчислений 38,5%), стоимости программного обеспечения:

3.2 Расчет годового экономического эффекта и срока окупаемости

Годовой экономический эффект:

, (3.18)

где - нормативный коэффициент эффективности капитальных вложений (=0,15);

- капитальные вложения, связанные с разработкой и применением новой технологии, руб.;

- годовая экономия, руб.

Определяя годовую экономию при внедрении программного продукта, будем исходить из объема выполняемых работ

, (3.19)

где - себестоимость условной единицы действующей технологии;

- себестоимость условной единицы проектируемой технологии;

- число обращений к программе в течение года (в среднем).

, (3.20)

где - среднечасовая тарифная ставка

руб.

- среднее время учета студентов и выдачи необходимых документов при действующей технологии (=12 час);

- коэффициент нормативных расходов (=0,8).

Таким образом, себестоимость условной единицы действующей технологии:

руб.

Себестоимость условной единицы проектируемой технологии:

, (3.21)

где, - стоимость подготовки данных (среднечасовая тарифная ставка);

- время подготовки данных (=12 час);

- стоимость одного часа машинного времени;

- время решения задачи на ЭВМ (в среднем 5-10 минут).

руб.

Если система будет использоваться 264 раза в году, тогда годовая экономия, рассчитанная по формуле (3.17) составит:

руб.

Капитальные вложения, связанные с затратами на разработку и внедрение программного продукта:

, (3.22)

где - затраты программиста на разработку и отладку программы, руб.;

- стоимость оборудования для обработки информации, руб.

руб.

руб.

Коэффициент эффективности капитальных вложений

(3.23)

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

(3.24)

3,6 года

3.3 Выводы по 3 разделу

В экономическом разделе рассмотрены вопросы, связанные с обоснованием необходимости и целесообразности затрат на создание программного обеспечения.

Для оценки программного продукта с экономической точки зрения произведен расчет срока окупаемости и годового эффекта от применения системы "Информационная система контроля и статистического учета успеваемости и движения контингента студентов".

По результатам расчета видно, что:

себестоимость программного продукта, созданного в процессе дипломного проектирования составила 38326,16 рублей при трудоемкости программирования 352,95 часов;

годовой экономический эффект, в случае внедрения предложенного программного продукта, составит 3221,13 руб.;

капитальные вложения, связанные с разработкой и внедрением программного обеспечения составили 24853,18 рублей;

коэффициент эффективности капитальных вложений превышает нормативный ;

срок окупаемости капитальных вложений составляет 3,6 года, что меньше нормативного месяца< года.

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

4. ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ ЖИЗНЕДЕЯТЕЛЬНОСТИ

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

повышенный уровень шума;

повышенная температура внешней среды;

отсутствие или недостаток естественного света;

недостаточная освещенность рабочей зоны;

электрический ток.

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

Встает вопрос об эффективной и рациональной работе оператора ЭВМ, об эргономике и эстетике производства. Поэтому целесообразно более подробно оценить настоящий дипломный проект с точки зрения микроклимата, существующего в деканате факультета №2 филиала "Восход" МАИ.

4.1 Анализ условий труда на рабочем месте оператора

Работа сотрудников деканата факультета № 2 филиала "Восход" МАИ, занимающихся контролем и статистическим учетом успеваемости и движением контингента студентов, будет связана с постоянной работой на ЭВМ. Помещение деканата находится в здании филиала "Восход" МАИ и представляет собой комнату размерами 7,5м*10м*2,7м. Одна из ее больших стен имеет три окна, размерами 1,8м*1,3м, которые выходят на юг. Окна расположены равномерно по всей длине стены. Пол в комнате бетонный, все стены оклеены обоями, потолок побелен.

В комнате имеется искусственное освещение, состоящее из шести светильников, в каждом из которых установлена одна лампа, мощностью 100 Вт каждая. Светильники расположены в три ряда и равномерно распределены по площади потолка.

К опасным и вредным факторам, воздействию которых подвергается пользователь, можно отнести:

возможность поражения электрическим током, при электронеисправности оборудования, нарушении заземления или техники безопасности;

работу в микроклимате с недопустимыми параметрами;

работу при недостаточной освещенности экрана дисплея и рабочего места;

работу при шуме и вибрации оборудования.

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

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

В соответствии с ГОСТ 50 948-96 работу оператора можно отнести к работе с малой точностью (наименьший размер объекта различения от 1 до 5 мм) 5 разряда зрительной работы, с большой контрастностью объекта различения (символов на экране дисплея), с темным фоном (разряд зрительной работы В).

Помещение деканата можно отнести к 1 группе помещений, в которых производится различение объектов зрительной работы при фиксированном направлении линии зрения работающего на рабочую поверхность. Для такого типа помещений и разряда зрительной работы нормируемое значение коэффициента естественной освещенности (КЕО) рабочей поверхности (при совмещенном освещении), должен составлять 0,5%, освещенность при искусственном освещении должна составлять 150 лк.

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

4.2 Основные понятия микроклимата и нормативные значения

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

Особенно большое влияние на микроклимат оказывают источники теплоты, находящиеся в помещениях. Основными источниками теплоты являются: ЭВМ и вспомогательное оборудование, приборы освещения, обслуживающий персонал. Удельная величина этих тепловыделений составляет 35-60 Вт/м. При этом, чем больше уровень освещенности в помещении, тем выше удельные величины тепловыделений. Количество теплоты от обслуживающего персонала незначительно. Оно зависит от числа работающих в помещении, микроклиматических условий и интенсивности работы, выполняемой человеком. Кроме того, на суммарное тепловыделения помещений оказывают влияние внешние источники поступлений теплоты. К ним относят теплоту, поступающую через окна от солнечной радиации, и приток теплоты через непрозрачные ограждающие конструкции.

При относительной влажности воздуха более 75-80% снижается сопротивление изоляции, изменяются рабочие характеристики элементов ЭВМ, возрастает интенсивность отказов элементов ЭВМ.

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.