РЕФЕРАТ
Пояснительная записка: 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 |
Элемент не заносится в дополнительную таблицу
Считываем 3-й элемент
|
|
| |||||||||||||
Хеш-таблица | 50 % | 400 | 1.2 | 20 |
Элемент заносится в дополнительную таблицу
Дополнительная таблица
Вид таблицы | Плотность заполнения | |||
Хеш-таблица | 50 % | 400 | 1.2 | 20 |
Теперь удаляем исходный файл, запомнив при этом его название, и переименовываем дополнительный.
Процесс работы компьютера состоит в выполнении программы, набора вполне определённых команд в вполне определённом порядке. Машинный код команды, состоящий из нулей и единиц, указывает, какое именно действие должен выполнить процессор. Т.е. чтобы создать программу для компьютера, необходимо записать последовательность нулей и единиц. Однако программирование в машинных кодах – занятие утомительное и малопродуктивное. Для упрощения процесса программирования были созданы специальные средства – языки программирования. Они стали появляться с 50-х годов и не перестают появляться и сегодня. Огромное количество языков говорит об ещё большем числе задач, которые приходится решать с помощью компьютера.
Вообще, одну и ту же задачу обычно можно решить с использованием разных языков. Но применение неподходящего языка программирования может заметно усложнить процесс программирования или ухудшить результат работы.
Для реализации данного программного продукта был выбран язык C и компилятор Borland C++ 3.1.
Это решение было принято по следующим причинам:
– программный продукт слишком велик для того, чтобы быть написанным на языке низкого уровня, таком как ассемблер;
– система требует высокого быстродействия и доступа к низкоуровневому оборудованию;
– язык программирования должен содержать библиотеку для работы в графическом режиме;
– язык должен иметь средства работы со строками;
– язык должен содержать средства работы с файлами;
– необходимы средства динамического распределения памяти;
– желательно наличие отладчика, позволяющего исполнять программу в пошаговом режиме, просматривать значения переменных и регистров процессора в процессе исполнения программы.
Язык C отвечает всем этим требованиям. Хоть он и не является языком низкого уровня, скорость программ написанных на C довольно высока в сравнении с другими высокоуровневыми языками. Тем не менее, он обладает всеми чертами языков высокого уровня: обладает мощными управляющими структурами, является типизированным языком, позволяет структурировать программу. Библиотеки языка C предоставляют средства работы в графическом режиме, множество функций работы со строками и файлами. В C реализована система динамического распределения памяти. Он позволяет обращаться к любым адресам оперативной памяти, к портам ввода вывода, прерываниям операционной системы. Есть возможность делать ассемблерные вставки. Так что наиболее критичные участки программы могут быть написаны на языке ассемблера. Наконец, в состав системы Borland C++ 3.1 входит мощный отладчик, позволяющий расставлять в тексте программы контрольные точки, исполнять программу в пошаговом режиме, просматривать значения переменных, регистров и областей оперативной памяти по ходу исполнения программы.
Кроме того, программы, написанные на C, отличаются компактностью как исходного, так и машинного кода. Они легко переносятся на другие операционные системы.
Язык C обладает также и некоторыми недостатками: некорректное использование указателей может привести к серьёзным ошибкам в программе; компактность языка в сочетании с большим количеством операторов даёт возможность создавать код, понимание которого чрезвычайно затруднительно. Эти недостатки связаны с тем, что C ориентирован на опытных программистов, которые хорошо знают, что они делают.
Таким образом, наиболее удобным для реализации данного программного продукта является язык программирования C.
4 ОПИСАНИЕ ФУНКЦИОНИРОВАНИЯ ПРОГРАММНОГО ПРОДУКТА
4.1 Входные данные
Входными данными является любой файл, содержащий таблицу любой структуры (тип полей – символьный или строковый).
4.2 Выходные данные
Выходными данными является тот же файл, но с изменениями, зависящими от действий пользователя, структура таблицы при этом не нарушается.
4.3 Схема информационных потоков
Существует главная программа. В неё поступают Входные данные, вводимые пользователем с клавиатуры (имя файла данных, ключ), а также из внешних текстовых файлов (теория по ВТ, исходные данные). В ответ на вводимые данные главная программа выводит на экран монитора Выходные данные – теоретический материал, справку, таблицы с данными. Схематически работа программы изображена на рисунке 1.6.
Рисунок 4.3 Схема информационных потоков.
... Сэл.эн.каб.=n*b*Pлам*Сквт/ч, где Сэл.эн.каб. - затраты на электроэнергию для освещения кабинета (руб.) n - количество часов, необходимых для разработки одной программы = 98 b - количество ламп в кабинете= 24 Рлам - мощность, потребляемая 1 лампочкой за 1 час. При разработке программы составила 0,04 квт Сквт/ч - стоимость 1 квт/ч, равна 1,45 руб. Подставив значения в формулу, получим: Сэл ...
... ; - распределение ресурсов; - планирование; - ввод-вывод данных; - управление данными; - взаимодействие с оператором. Операционную систему составляют: - монитор; - загрузчик; - супервизор; - планировщик; и - набор системных обслуживающих программ (утилит) Операционная система Windows - (Windows operating system ) - разработанная корпорацией Microsoft однопользовательская операционная ...
... информации: в штатном режиме; изменения в штатном режиме работы; нештатный режим (аварийные ситуации). Глава 2. Обоснование способов защиты операционной системы от программных закладок типа троянский конь 2.1 Общие сведения о троянских программах Подсоединение локальных компьютерных сетей организаций к сети Internet приводит к необходимости уделять достаточно серьезное внимание ...
... · Если Windows программа имеет графический интерфейс, то и Линукс программа должна иметь его тоже; · Функциональность Linux программы должна соответствовать основным функция Windos программы; С учётом поставленных критерий и принципов была осуществлена методика подбора программ аналогов для заполнения информационной базы, в которой они будут участвовать в качестве списков соответствий программ ...
0 комментариев