1 Постановка задачи. Тест
2 ФУНКЦИОНАЛЬНО-МОДУЛЬНАЯ СТРУКТУРА ПРОЕКТА
3 ИНТЕРФЕЙС ПРОЕКТА
4 ОПИСАНИЕ АЛГОРИТМОВ И ТЕКСТЫ ПРОЦЕДУР
4.1 Модуль Unit1
4.2 Модуль Unit2
4.3 Модуль Unit3
4.4 Модуль Unit4
5 РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ ПРОЕКТА
5.1 Направление развития проекта
6 ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ
6.1 Назначение программы
6.2 Условия выполнения программы
6.3 Выполнение программы
6.4 Сообщения пользователю
Список использованной литературы
1 ПОСТАНОВКА ЗАДАЧИ. ТЕСТ
Рассмотрим следующую задачу:
В текстовом файле находится технологическая карта, содержащая данные на каждое из выпускаемых изделий и состоящая из пяти граф: Наименование изделия; Наименование детали; Количество деталей в изделии; Наименование материала; Норма расхода материала на одну деталь, кг. Известно, что в одно изделие могут входить несколько деталей и на изготовление одной детали могут потребоваться различные материалы.
Разработать алгоритм и программу определения потребности каждого материала на все изделия. Результаты расчета записать в новый текстовый файл, содержащий таблицу из двух граф: Наименование материала; Потребность, кг.
На рисунке 1 приведена электронная таблица с подготовленными исходными данными.
Рисунок 1 - Электронная таблица с исходными данными
По команде Сохранить как сохранены исходные данные в новый файл Технологическая карта, в качестве типа которого укажем Текстовые файлы (с разделителями табуляции). Текстовый файл сохранил в той папке, в которой находиться разрабатываемый проект.
2 ФУНКЦИОНАЛЬНО-МОДУЛЬНАЯ СТРУКТУРА ПРОЕКТА
Разрабатывается многомодульный проект с главным меню в окне первой формы. Меню будет включать следующие команды: Ввод исходных данных, Сортировка, Обработка, Об авторе, Выход.
Модуль Unit1, соответствующий первой форме Form1 должен обеспечивать вызов остальных модулей и отображение соответствующих форм. Кроме того, перед началом работы (до выбора пользователем одной из команд меню) в Unit1 надо уничтожить старую версию выходного файла и установить признаки того, что ни одна из команд меню еще не выполнялась.
Реакция на выбор пользователем команды Выход, реализуемая в этом же модуле Unit1, должна включать контроль записи результатов в новый файл. Если запись не была выполнена, то выход из программы не должен осуществляться.
По команде Ввод исходных данных должно открываться окно второй формы Form2, при активации которой будут вводиться данные из текстового файла, записываться в массивы и отображаться в таблице строк. Здесь же надо установить признак успешной обработки исходного файла. На форме должна находиться кнопка, обеспечивающая возврат к первой форме. Все перечисленные действия будут реализовываться в модуле Unit2.
Команда Сортировка должна вызывать третью форму Form3, при активации которой будет выполняться сортировка исходных массивов по полю Наименование поставщика и результат сортировки отображаться в таблице строк. Сортировка должна выполняться только при наличии признака успешного ввода исходных данных. После выполнения сортировки программа должна установить соответствующий признак. На форме должна находиться кнопка, обеспечивающая возврат к первой форме. Все перечисленные действия будут реализовываться в модуле Unit3.
По команде Обработка должна вызываться четвертая форма Form4, при активации которой для каждого поставщика будет вычисляться общая
4 ОПИСАНИЕ АЛГОРИТМОВ И ТЕКСТЫ ПРОЦЕДУР
4.1 Модуль Unit1
Фрагмент интерфейсной части модуля Unit1 и описание связи с другими модулями приведено в листинге 1.
Листинг 1.
var
Form1: TForm1;
izd: array[1..30] of string[255];
det: array[1..30] of string[255];
kol: array[1..30] of integer;
mat: array[1..30] of string[255];
norm: array[1..30] of real;
n: Integer;
W1: Boolean;
W2: Boolean;
W3: Boolean;
fv2: TextFile;
implementation
{$R *.dfm}
uses Unit2, Unit3, Unit4, Unit5;
Как видно из листинга 1 в качестве глобальных используются пять массивов. Три из них (izd, det, norm) имеют строковый тип и предназначены для хранения наименований изделий, наименований деталей и наименований материалов, вводимых из заданного текстового файла. Нормы и количество поставленных материалов будут храниться в двух массивах (norm, kol). Элементы всех массивов получают значения в модуле Unit2 и используются в модулях Unit3 и Unit4.
Кроме указанных массивов глобальными объявлены следующие переменные:
5 РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ ПРОЕКТА
Для исходных данных, представленных на рисунке 2, получен файл Потребность материала на изделие.txt (рисунок 14). Содержимое полученного файла полностью согласуется с тестом, приведенным на рисунке 3.
5.1 Направление развития проекта
Сервис проекта существенно улучшится, если в него добавить, по крайней мере, две следующие функции:
1) обработка исключительных ситуаций, т. е. перехват программой прерываний среды Delphi при обнаружении ошибки, информирование об ошибке пользователя и предоставление ему возможности внести исправление;
2) использование визуальных компонентов OpenDialog и SaveDialog, реализующих стандартные диалоговые окна открытия и сохранения файла, с помощью которых можно будет указывать путь к исходному и результирующему файлам.
6 ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ
6.1 Назначение программы
Данная программа считывает с диска текстовый файл Технологическая карта.txt, содержащая данные на каждое из выпускаемых изделий и состоящая из пяти граф: Наименование изделия; Наименование детали; Количество деталей в изделии; Наименование материала; Норма расхода материала на одну деталь, кг. Известно, что в одно изделие могут входить несколько деталей и на изготовление одной детали могут потребоваться различные материалы. Результаты расчета записаны в новый текстовый файл, содержащий таблицу из двух граф: Наименование материала; Потребность, кг.
6.2 Условия выполнения программы
Исполняемый файл Project2.exe занимает 10 176 Кб памяти и может выполняться на любом персональном компьютере под управлением операционной сиcтемы Windows версии не ниже Windows 4.00.950 (Windows 95).
Принтер не используется. Результат выполнения записывается на жесткий магнитный диск и отображается на экране монитора.
Текстовый файл с исходными данными должен находиться в той же папке, что и исполняемый файл. Результирующий файл помещается в ту же папку.
Исходные файлы проекта (14 файла) занимают на диске 96,9 Кб. Для выполнения программы эти файлы не нужны. Они необходимы программисту для внесения изменений в проект.
6.3 Выполнение программы
1. Попов, В.Б. Паскаль и Дельфи: учеб. курс / В.Б. Попов. – СПб.: Питер, 2005. – 576 с.
2. Алексеев, В.Е. Вычислительная техника и программирование: практикум по программированию / В.Е. Алексеев, А.С. Ваулин, Г.Б. Петрова: под ред. А.В. Петрова. – М.: Высш. шк., 1991. – 399 с.
3. Алгоритмизация и программирование: пособие для студентов специальности 1-25 01 07 «Экономика и управление на предприятии» специализации 1-25 01 07 02 «Экономическая информатика», специальности 1-26 03 01 «Управление информационными ресурсами» / авт.-сост. : С. М. Мовшович, О. А. Кравченко. – Гомель : учреждение образования «Белорусский торгово-экономический университет потребительской ко-операции», 2008. – 104 с. (№ 1890).
4. Обработка экономической информации в системе Программирования Delphi : пособие по дисциплине «Алгоритмизация и программирование» для студентов специальности 1-26 03 01 «Управление информационными ресурсами» / авт.-сост. С. М. Мовшович, О. А. Кравченко. – Гомель : учреждение образования «Белорусский торгово-экономический университет потребительской кооперации», 2011. – 128 с. (№ 2380).
5. Технологии программирования : практикум для студентов специальности 1-26 03 01 «Управление информационными ресурсами» / авт.-сост. Е. В. Коробейникова, С. М. Мовшович, О. А. Кравченко. – Гомель : учреждение образования «Белорусский торгово-экономический университет потребительской ко-операции», 2012. – 100 с. (№ 2438).
6. Фаронов, В.В. Турбо Паскаль 7.0. Начальный курс: учеб. пособие / В.В. Фаронов. – М: КНОРУС, 2006. – 576 с.
7. Фаронов, В.В. Delphi. Программирование на языке высокого уровня: учеб. для вузов / В.В. Фаронов. – СПб: Питер, 2004. – 640 с.
8. Глинский, Я.В. Turbo Pascal 7.0. Delphi. учеб. пособие для вузов / Я.В. Глинский, В.Е. Анохин, В.А. Ряжская. – СПб: ООО "ДиаСофтЮП", 2001. – 208 с.
9. Дарахвелидзе, П.. Программирование в Delphi 5: / П. Дарахвелидзе. – СПб.: BHV, 2000. – 767 с.
10. Культин, Н. Основы программирования в Delphi:/ Н. Культин. – СПб.: BHV, 2003. – 566 с.
11. Гофман, В. Delphi 6. Наиболее полное руководство / В. Гофман. – СПб.: BHV, 2001. – 1135 с.