Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика ЗКМЗКЕ_1курс / Основы алг-ции и прог-ие.doc
Скачиваний:
104
Добавлен:
05.06.2015
Размер:
2 Мб
Скачать
☆
    1. Работа с файлами при обработке экономической информации

      1. Постановка задачи.

Пусть для системы обработки данных требуется написать программу одновременного формирования трех ведомостей о начислении заработной платы для рабочих-сдельщиков на основе пооперационных данных, находящихся в файле «Наряд», и постоянных справочных файлах «Рабочий», «Подразделение» и «Операция».

На рис.7 показан фрагмент диаграммы потоков данных, из которого видно, что требуется получить три ведомости, названные здесь 1, 2 и 3. При этом входными данными для обработки являются четыре файла, а выходными данными – три ведомости.

На рис.8 представлены макеты выходных документов. Здесь видно, какие заголовки и показатели выводятся в каждой ведомости, какие итоги должны подводиться.

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

Рис.8 Макеты отчетов.

Рис.9 Структуры записей входных файлов.

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

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

На диаграмме доступа линия 1 показывает соотношение записей файла «Подразделение» и файла «Наряд». Т.о. видно, что для одного подразделения в файле «Наряд» может быть много записей, т.е. это соотношение «один-ко-многим». Линия 2 показывает аналогичное соотношение записей файла «Рабочий» и файла «Наряд», т.е. для одного рабочего может быть несколько записей в файле «Наряд», если конкретный рабочий за отчетный период выполнял работу по нескольким нарядам. Линия 4 показывает аналогичное соотношение записей файла «Подразделение» и файла «Рабочий», т.к. в одном подразделении работает несколько рабочих. Линия 3 показывает соотношение записей файла «Наряд» и файла «Операция». Это соотношение отражает тот факт, что одна и та же операция может встречаться во многих нарядах, но в одном наряде может быть только одна операция.

В информационных таблицах на рис.11 показан пример входных данных, на основе которых получены отчеты на рис.8. Здесь же обозначены соотношения между записями, содержащимися в разных таблицах.

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

      1. Проектирование программы.

Для проектирования программы будем использовать подход МЭСИД. Процесс проектирования начинается с составления диаграмм структур выходных данных. Они представлены на рис.12. После составления необходимо убедиться в их структурной и информационной непротиворечивости. На базе этих диаграмм определяется «идеальный вход», обеспечивающий получение всех выходных документов. Структура «идеального входа» может быть получена при обработке последовательного файла «Наряд» путем прямого доступа к файлам-справочникам «Рабочий» и «Подразделение» и последовательного доступа к файлу-справочнику «Операция». Диаграммы структур входных данных показаны на рис.13. В этих диаграммах представлены только те поля записей, которые необходимы для получения «идеального входа». Диаграммы размечаются идентификаторами полей записей, полей управления, полей печати и вычислительными формулами. Убедившись в полноте и непротиворечивости постановки задачи на логическом уровне, можно перейти к составлению диаграммы структуры программы и матрицы операций (рис.14), выделив в ней отдельные столбцы для каждого выходного документа, и затем к кодированию программы.