Пояснительная записка: 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.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) |
Затем начинаем считывать по одному элементу из исходной таблицы, и если условие выполняется (считывается с первого по пятый и с тринадцатого по последний элементы), заносим в дополнительную таблицу.
1 | 100 | 30j | 40 | 100 |
1 | 100 | 30j | 40 | 100 |
2 | 50 | 50j | 36j | 200 |
2 | 50 | 50j | 36j | 200 |
3 | 150 | 80 | 47j | 50 |
3 | 150 | 80 | 47j | 50 |
4 | 100 | 40j | 20j | 220 |
4 | 100 | 40j | 20j | 220 |
Пропускаем элементы до тринадцатого, затем аналогично считываем по одному, и заносим в дополнительный файл
13 | 100 | 90 | 75j | 300 |
5 | 100 | 90 | 75j | 300 |
14 | 50 | 50 | 40j | 120 |
6 | 50 | 50 | 40j | 120 |
15 | 50 | 70j | 45 | 150 |
7 | 50 | 70j | 45 | 150 |
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”
Исходная таблица Дополнительная таблица
Вид | Плотность зап. |
Вид | Плотность зап |
Считываем 1-й элемент
упорядоченный | 100 % | 80 | 1 | 12 |
Элемент не заносится в дополнительную таблицу
Считываем 2-й элемент
неупорядоченный | 100 % | 40 | 1 | 15 |
Элемент не заносится в дополнительную таблицу