Рисунок 17 - Текст процедуры
TForm2.FormActivate (первая часть)
Рисунок 18 - Текст процедуры
TForm2.FormActivate (заключительная часть)
Эта процедура обеспечивает выбор файла со схожей структурой и запись его в StringGrid1. В данной процедуре добавлено лишь дополнительное условие с OpenDialog1.
Пятая процедура модуля Unit2
обеспечивает закрытие окна формы при щелчке по кнопке В главное меню, ее текст
приведен на рисунке 19.
Рисунок 19 - Процедура закрытия
окна Form2
.3 Модуль Unit3
Модуль Unit3 содержит две процедуры TForm3.FormActivate, TForm3.Button1Click.
Процедура TForm3.Button1Click вызывается при щелчке по кнопке В главное меню.
Как и в модуле Unit2, эта
процедура обеспечивает закрытие окна формы. Текст процедуры приведен на рисунке
20.
Рисунок 20 - Процедура закрытия
окна Form3
Процедура TForm3.FormActivate
использует массивы pod, mes, kat, god и yvol а также переменную n (количество
элементов в каждом массиве), описанные в модуле Unit1 и определенные в модуле
Unit2. Схема алгоритма процедуры, вызываемой при активации Form3, приведена на
рисунке 21.
Рисунок 21 - Схема алгоритма
процедуры TForm3.FormActivate
Сортировка массива категории работников реализована на основе "метода пузырька", который состоит в следующем. Исходный массив просматривается слева направо с проверкой условия kat[i]>kat[i+1]. Если для какой-то пары элементов это условие выполняется, то данные элементы переставляются и проверка продолжается. После проверки последней пары на последнем месте окажется самый большой элемент (в нашем случае - последний по алфавиту). Затем проверки начинаются опять с первой пары, но последняя пара элементов уже не проверяется. Всего делается n-1 просмотров массива.
Отметим, что при перестановке элементов kat[i] и kat[i+1] переставляются и соответствующие элементы в остальных четырех массивах.
Текст процедуры
TForm3.FormActivate приведен на рисунке 22.
Рисунок 22 - Текст процедуры
TForm3.FormActivate.
.4 Модуль Unit4
Модуль Unit4 содержит три процедуры TForm4.FormActivate, TForm4.Button1Click , TForm4.Button2Clic.
В интерфейсной части модуля Unit4 описаны два массива: массив строк kategor, предназначенный для хранения различных наименований категории работника, и вещественный массив chyvol, в который будут занесены вычисленное количество уволенных работников по каждой категории. Кроме того, описана целочисленная переменная kr, значение которой - количество различных категорий работников. Все эти объекты получают значения в процедуре TForm4.FormActivate и используются в процедуре TForm4.Button2Click (команда Запись результатов в файл).
Активация Form4, а, следовательно, и выполнение процедуры TForm4.FormActivate происходит после выбора пользователем в Form1 команды Обработка. Процедура анализирует, выполнены ли ранее команды Ввод исходных данных и Сортировка. Если какая-то из данных команд не выполнена, то выдается сообщение пользователю и выполнение процедуры на этом завершается. Если обе команды были ранее выполнены, то организуется цикл просмотра отсортированного массива kat с вычислением для каждой категории работников общего числа уволенных. Наименование детали и общее её количество переписываются в массивы kategor и chyvol. При этом значение переменной kr увеличивается на 1.
Схема алгоритма процедуры
TForm4.FormActivate приведена на рисунке 23.
Рисунок 23 - Схема алгоритма
процедуры TForm4.FormActivate
Текст процедуры
TForm4.FormActivate приведен на рисунке 24.
Рисунок 24 - Текст процедуры
TForm4.FormActivate
Процедура TForm4.Button2Click выполняется при щелчке по кнопке Запись результатов в файл в окне приложения Form4. Назначение процедуры - запись в файл Количество уволившихся.txt содержимого массивов kategor и chyvol.
Схема алгоритма процедуры
TForm4.Button1Click приведена на рисунке 30, а текст процедуры - на рисунке 25.
Рисунок 25 - Схема алгоритма
процедуры TForm4.Button1Click
Рисунок26 - Текст процедуры
TForm4.Button2Click
Процедура TForm4.Button1Click вызывается при щелчке по кнопке В главное меню Как и в модуле Unit3, эта процедура обеспечивает закрытие окна формы и чистку таблицы с результатами обработки.
Текст процедуры приведен на рисунке 27.
Рисунок 27 - Процедура закрытия
окна Form4
.5 Модуль Unit5
Модуль Unit5 содержит одну простую процедуру.
Процедура TForm5.Button1Click обеспечивает возврат к главному меню.
Текст процедуры приведен на
рисунке 28.
Рисунок 28 - Процедура Form5
5. Результат выполнения проекта
Для исходных данных,
представленных на рисунке 2, получен файл Количество уволенных.txt (рисунок
29). Содержимое полученного файла полностью согласуется с тестом, приведенным
на рисунке 3.
Рисунок 29 - Результат
тестирования проекта
6. Направления развития проекта
) обработка
исключительных ситуаций, т. е. перехват программой прерываний среды Delphi при
обнаружении ошибки, информирование об ошибке пользователя и предоставление ему
возможности внести исправление.
7. Инструкция пользователя
.1 Назначение программы
Программа считывает текстовый файл "Количество уолившихся.txt", в котором находится таблица с графами: "Наименование подразделения"; "Месяц"; "Год"; "Категория работника", "Общее количество уволившихся".
Рассматривается четыре
категории работников: рабочие, руководители, специалисты и технические
исполнители(служащие). После сортировки программа подсчитывает общее число
уволившихся работников по каждой категории. Результаты расчёта записываются в
новый текстовый файл, содержащий таблицу из двух граф: "Категория
работников"; "Общее число уволившихся".
.2 Условия выполнения программы
Исполняемый файл Project1.exe занимает 3 714 Кб памяти и может выполняться на любом персональном компьютере под управлением операционной сиcтемы Windows версии не нижеt Windows 4.00.950 (Windows 95).
Может использоваться по желанию пользователя принтер. Результат выполнения записывается на жесткий магнитный диск и отображается на экране монитора.
Текстовый файл с исходными
данными должен находиться в той же папке, что и исполняемый файл.
Результирующий файл помещается в ту же папку. Исходные файлы проекта (80
файлов) занимают на диске 26,7 Мб. Для выполнения программы эти файлы не нужны.
Они необходимы программисту для внесения изменений в проект.
7.3 Выполнение программы
Перед выполнением программы надо создать текстовый файл Количество уволившихся.txt, пример которого представлен на рисунке 2. Элементы данных в каждой строке файла должны разделяться символом табуляции. Первой строкой файла должна быть строка с заголовками граф.
После запуска программы на
экране появится главное окно приложения, представленное на рисунке 5. Первой
должна быть выполнена команда Ввод исходных данных. В результате появится окно
приложения, пример которого представлен на рисунке 30.
Рисунок 30 - Пример окна
приложения после выполнения команды Ввод исходных данных
Для продолжения работы
необходимо выполнить команду В главное меню, после которой на экране появится
главное окно приложения. Далее надо выполнить команду Сортировка. Или же сразу
перейти к сортировке нажав на кнопку Cортировка на окне второй формы. В
результате появится окно приложения, пример которого представлен на рисунке 31.
Рисунок 31 - Пример окна приложения после выполнения команды Сортировка
Для продолжения работы необходимо выполнить команду В главное меню, после которой на экране появится главное окно приложения или же нажать сразу кнопку Обработка на окне сортировки.
Следующей выполняется команда Обработка. Результат выполнения этой команды отображается в окне приложения, пример которого представлен на рисунке 32.
Естественным продолжением работы является выполнение команды Запись результатов в файл. В результате будет создан искомый текстовый файл Количество уволившихся.txt. Элементы данных в каждой строке файла разделяются символом табуляции. Первой строкой файла будет строка с заголовками граф.
Выполнение команды В главное
меню, приводит к появлению на экране главного окна приложения.
Рисунок 32 - Пример окна
приложения после выполнения команды Обработка
Команда Об авторе инициирует
появление окна, содержащего сведения о разработчике проекта. Данная команда
может выполняться в любой момент. Команда Выход завершает выполнение программы.
.4 Сообщения пользователю
Ниже перечислены все сообщения, выдаваемые во время выполнения программы.
1. При выполнении команды Ввод
исходных данных может быть выдано сообщение, приведенное на рисунке 33, если
файл с исходными данными не существует или он находится в другой папке.
Рисунок 33 - Сообщение об
отсутствии файла исходных данных
2. В процессе считывания
записей из исходного файла может быть выдано сообщение, пример которого
приведен на рисунке 34. Данное сообщение выдается в том случае, когда очередная
строка исходного файла содержит менее четырёх элементов данных.
Рисунок 34 - Сообщение о
присутствии ошибки в строке файла исходных данных
3. При попытке выполнения одной
из команд Сортировка, Обработка или Запись результатов в файл перед командой
Ввод исходных данных программа выводит сообщение, представленное на рисунке 35.
Рисунок 35 - Сообщение о
необходимости выполнения команды Ввод исходных данных
При попытке выполнения одной из
команд Обработка или Запись результатов в файл перед командой Сортировка
программа выводит сообщение, представленное на рисунке 36.
Рисунок 36 - Сообщение о
необходимости выполнения команды Сортировка
4. После успешного выполнения
команды Запись результатов в файл выводится сообщение, представленное на
рисунке 37.
Рисунок 37 - Сообщение об
успешном создании выходного файла
5. При попытке завершить работу
программы без записи результатов в файл выводится сообщение, приведенное на
рисунке 38.
Рисунок 38 - Сообщение о
необходимости выполнения команды Запись результатов в файл
Список используемых источников
1. Попов В.Б. Паскаль и Дельфи: учеб. курс / В.Б. Попов. - СПб.: Питер, 2005. - 576 с.
. Алексеев В.Е. Вычислительная техника и программирование: практикум по программированию / В.Е. Алексеев, А.С. Ваулин, Г.Б. Петрова: под ред. А.В. Петрова. - М.: Высш. шк., 1991. - 399 с.
. Алгоритмизация и программирование: пособие для студентов специальности 1-25 01 07 "Экономика и управление на предприятии" специализации 1-25 01 07 02 "Экономическая информатика", специальности 1-26 03 01 "Управление информационными ресурсами" / авт.-сост.: С.М. Мовшович, О.А. Кравченко. - Гомель: 2008. - 104 с. (№890).
. Обработка экономической информации в системе Программирования Delphi: пособие по дисциплине "Алгоритмизация и программирование" для студентов специальности 1-26 03 01 "Управление информационными ресурсами" / авт.-сост. С.М. Мовшович, О.А. Кравченко. - Гомель: учреждение образования "Белорусский торгово-экономический университет потребительской кооперации", 2011. - 128 с. (№2380).
. Технологии программирования: практикум для студентов специальности 1-26 03 01 "Управление информационными ресурсами" / авт.-сост. Е.В. Коробейникова, С.М. Мовшович, О.А. Кравченко. - Гомель: учреждение образования "Белорусский торгово-экономический университет потребительской кооперации", 2012. - 100 с. (№2438).
. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс: учеб. пособие / В.В. Фаронов. - М: КНОРУС, 2006. - 576 с.
. Фаронов В.В. Delphi. Программирование на языке высокого уровня: учеб. для вузов / В.В. Фаронов. - СПб: Питер, 2004. - 640 с.
. Глинский Я.В. Turbo Pascal 7.0. Delphi. учеб. пособие для вузов / Я.В. Глинский, В.Е. Анохин, В.А. Ряжская. - СПб: ООО "ДиаСофтЮП", 2001. - 208 с.
. Дарахвелидзе П. Программирование в Delphi 5: / П. Дарахвелидзе. - СПб.: BHV, 2000. - 767 с.
. Культин Н. Основы программирования в Delphi:/ Н. Культин. - СПб.: BHV, 2003. - 566 с.