Курсовая работа: Разработка программы обработки экономической информации
Рисунок 2.3.1 – Пример файл входных данных
2.4 Выходные данные
В процессе ввода входных данных из файла, формируется динамическая структура – двунаправленный список. Информационным полем элемента списка является запись таблицы входных данных. Для просмотра данных используются функции обхода двунаправленного списка.
В результате обработки данных составляется ведомость, котораяпри выборе меню watchandwriteoutputfileотображается на экране и записывается в новый файл с выполненными по заданию расчетами в виде таблицы:
Рисунок 2.4.1 – Пример файла выходных данных
2.5 Внутреннее представление данных
Программа написана на языке высокого уровня TurboPascal и скомпилирована компилятором BorlandPascal7.0 .
Файл, может включать в себя неизвестное заранее количество строк, но должен иметь определённый формат, поэтому для хранения входной информации статические переменные неприемлемы. Наиболее подходящим оказывается двунаправленный список , так как в нем возможны: перестановка порядка следования элементов без копирования самой структуры; поиск как в прямом, так и обратном направлении; удаление элементов наиболее оптимальным образом. В тоже время не требуется поддержка сложных структур данных и методов работы, как в деревьях.Но тем не менее скорость работы двунаправленного списка ниже , чем у нелинейных структур, например, деревьев.
2.6 Описание алгоритма программ
Структура алгоритма задачи для процедуры org;- считывание из файла и создание двунаправленного списка с упорядоченной структурой по полю fio (фамилия студента) по алфавиту. (рис. 2.6.1.) .
Блок1-обнуляет число элементов.
Блок2-чтение имени файла.
Блок3-проверка введено ли имя.
Блок4-Вывод окна сообщений о том , что имя не введено.
Блок5- присвоение булевой переменной определяющей есть ли данный файл значения false.
Блок6-выход из процедуры.
Блок7-открытие файла.
Блок8-проверка на наличие файла.
Блок9-вывод на экран сообщения о том . что файла такого нет.
Блок10-булевой переменной определяющей есть ли данный файл значения true.Обнуление числа строк
Блок11- присвоение булевой переменной определяющей есть ли данный файл значения false.
Блок12-цикл пока не конец файла
Блок13-цикл пока не почитал 4 строки
Блок15-подсчёт строк
Блок16-чтение строки
Блок17-считывание частей строк в промежуточные переменные.