Написание программы для удаления элементов и очистки внешних таблиц
РЕФЕРАТ Пояснительная записка: 43c, 6 рис, 28 табл, 3 источника, 4 приложения. Целью создания курсовой работы является разработка программы, которая выполняет удаление элементов внешних таблиц, а также очистку файлов, вывод таблиц на экран. Входными данными являются: таблица различной структуры и размера в файле. Выходными данными является файл с данными, либо полностью очищенный файл. Так же выводится текстовый файл с информацией об внешних таблицах. СОДЕРЖАНИЕ Введение 1 Постановка задачи 1.1 Цель разработки 1.2 Функциональные требования 2. Методы и алгоритмы 3 Выбор языка программирования 4 Описание программного продукта 4.1 Входные данные 4.2 Выходные данные 4.3 Схема информационных потоков 4.4 Метод решения 4.5 Функционально - логическая схема 5 Комплект поставки и инсталляция 5.1 Комплект поставки 5.2 Порядок инсталляции 5.3 Запуск программы 6 Тестирование программного продукта Выводы Перечень использованных источников Приложение А Техническое задание Приложение Б Руководство пользователя Приложение В Экранные формы Приложение Г Листинг программы ВВЕДЕНИЕ Внешние таблицы - таблицы, хранящиеся в файлах. Как правило, такие файлы велики, и для операций над ними, в частности удаление или добавление элементов, требуется большой объем оперативной памяти, поэтому для экономии памяти используются дополнительные или временные файлы, которые после произведения операций над ними переименовываются или удаляются. Внешние таблицы - это таблицы любой структуры. Для работы с ними необходимо определить количество и тип полей (символьный или строковый). Примером внешних таблиц могут быть различные прайс-листы, информация об абонентах кабельного телевидения, телефонный справочник и т.д. Внешние таблицы активно используются в различных базах данных. 1 ПОСТАНОВКА ЗАДАЧИ1.1 Цель разработки Цель курсового проекта - написание программы, которая загружала бы из файлов таблицы различной структуры и объема, имела понятный графический интерфейс, определяла тип полей (строковый или символьный), а также выводила данную таблицу на экран. Если файл велик, должен быть предусмотрен вертикальный скроллинг со сдвигом по одному элементу. Программный продукт предусматривает выполнение операций удаления и очистки внешних таблиц. Также должна быть разработана система помощи пользователю (информация о внешних таблицах, об использовании программы, а также краткие сведения об авторе). 1.2 Функциональные требования Исходные данные хранятся в файлах. Это очень удобно. Таким способом можно загружать нужную информацию частично, что и требуется осуществить в программе. Очень удобно менять информацию, хранящуюся в файлах. 2 МЕТОДЫ И АЛГОРИТМЫ Внешние таблицы могут быть очень велики, поэтому для работы с ними принципиально неправильно использовать только оперативную память, необходимы различные дополнительные (вспомогательные) структуры, например файлы. Приведем пример удаления элемента внешних таблиц по порядковому номеру и интервалу. Необходимо удалить с пятого по двенадцатый элемент. Вначале считываем заголовок таблицы и без изменений заносим в дополнительный файл. Исходная таблица |
N п/п | (Hz) | E1 (B) | E2 (B) | L1 (mG) | | 1 | 100 | 30j | 40 | 100 | | 2 | 50 | 50j | 36j | 200 | | 3 | 150 | 80 | 47j | 50 | | 4 | 100 | 40j | 20j | 220 | | 5 | 50 | 60 | 30j | 550 | | 6 | 50 | 100j | 24 | 150 | | 7 | 100 | 50j | 50 | 150 | | 8 | 75 | 60 | 30j | 270 | | 9 | 100 | 30 | 80j | 200 | | 10 | 50 | 90j | 60 | 400 | | 11 | 100 | 100 | 75j | 150 | | 12 | 75 | 60j | 40 | 120 | | 13 | 100 | 90 | 75j | 300 | | 14 | 50 | 50 | 40j | 120 | | 15 | 50 | 70j | 45 | 150 | | |
Вначале считываем заголовок таблицы и без изменений заносим в дополнительный файл. Исходная таблица Дополнительная таблица |
N п/п | (Hz) | E1 (B) | E2 (B) | L1 (mG) | | N п/п | (Hz) | E1 (B) | E2 (B) | L1 (mG) | | | Затем начинаем считывать по одному элементу из исходной таблицы, и если условие выполняется (считывается с первого по пятый и с тринадцатого по последний элементы), заносим в дополнительную таблицу. |
4 | 100 | 40j | 20j | 220 | | 4 | 100 | 40j | 20j | 220 | | | Пропускаем элементы до тринадцатого, затем аналогично считываем по одному, и заносим в дополнительный файл |
13 | 100 | 90 | 75j | 300 | | 5 | 100 | 90 | 75j | 300 | | | Дополнительная таблица в дополнительном файле|
N п/п | (Hz) | E1 (B) | E2 (B) | L1 (mG) | | 1 | 100 | 30j | 40 | 100 | | 2 | 50 | 50j | 36j | 200 | | 3 | 150 | 80 | 47j | 50 | | 4 | 100 | 40j | 20j | 220 | | 5 | 100 | 90 | 75j | 300 | | 6 | 50 | 50 | 40j | 120 | | 7 | 50 | 70j | 45 | 150 | | |
Теперь удаляем исходный файл, запомнив при этом его название, и переименовываем дополнительный. Сложнее обстоит дело с удалением элементов по заданному значению ключа. Необходимо определить тип полей таблицы и самого ключа, затем сравнивать поэлементно числа или строки (в зависимости от ключа) в записях внешних таблиц, и таким же образом, как было рассмотрено выше, заносить во временный файл и произвести переименовку дополнительного файла. Исходная таблица |
Вид таблицы | Плотность заполнения | | | | | упорядоченный | 100 % | 80 | 1 | 12 | | неупорядоченный | 100 % | 40 | 1 | 15 | | Хеш-таблица | 50 % | 400 | 1.2 | 20 | | |
Страницы: 1, 2, 3, 4
|