Автор работы: Пользователь скрыл имя, 20 Ноября 2013 в 18:48, курсовая работа
Современный уровень развития электронных устройств и в частности компьютерной техники позволяет создавать новые технологии в различных сферах научной и практической деятельности. Одной из таких сфер стало образование – процесс и результат усвоения систематизированных знаний, умений и навыков. Образование является мощной информационной сферой, в которой используется опыт различных классических (не компьютерных) информационных систем. Это позволило образованию быстро откликнуться на возможности современной техники. На наших глазах возникают образовательные ресурсы и нетрадиционные информационные системы, связанные с обучением. Эти системы называют информационно-обучающими.
Введение…………………………………………………………………………....3
1 Разработка эскизного и технического проектов программы …..….5
1.1 Назначение и область применения …..….5
1.2 Технические характеристики …..….5
1.2.1 Постановка задачи …..….5
1.2.2 Описание алгоритма …...….6
1.2.3 Организация входных и выходных данных ….....10
1.2.4 Выбор состава технических и программных средств ….....10
2 Разработка рабочего проекта ….....11
2.1 Описание программы ….....11
2.2 Разработка приложения ….....11
2.3 Спецификация программы ….....16
2.4 Тестирование программы ….....17
2.4.1 Возможные ошибки, возникающие при работе ….....18
2.5 Инструкции пользователю...………………………………….......................19
Заключение………………………………………………………………… ..…...21
Глоссарий…..………………………..………………………………………...…..23
Список использованных источников……………….…………………………...25
Версия шаблона |
2.1 |
Филиал |
|
Вид работы |
Курсовая работа |
Название дисциплины |
|
Тема |
Разработать программу «Архивация» |
Фамилия студента |
|
Имя студента |
|
Отчество студента |
|
№ контракта |
Введение…………………………………………………………
1 Разработка эскизного и технического проектов программы …..….5
1.1 Назначение и область применения …..….5
1.2 Технические характеристики …..
1.2.1 Постановка задачи …..….5
1.2.2 Описание алгоритма …...….6
1.2.3 Организация входных и выходных данных ….....10
1.2.4 Выбор состава технических и программных средств ….....10
2 Разработка рабочего проекта ….....11
2.1 Описание программы ….....11
2.2 Разработка приложения ….....11
2.3 Спецификация программы ….....
2.4 Тестирование программы ….....1
2.4.1 Возможные ошибки,
возникающие при работе ….....
2.5 Инструкции пользователю...…………………………………..
Заключение……………………………………………………
Глоссарий…..………………………..…………………
Список использованных
источников……………….…………………………...
Список сокращений ….....27
Приложение……………………………………………………
Главным назначением разработки программы Архивация является сжатие - сокращает объем пространства, требуемого для хранения файлов в ЭВМ.
Существует много факторов выделять ресурсы ЭВМ в расчете на сжатое представление, т.к. более быстрая передача данных и сокращение пространства для их хранения позволяют сберечь значительные средства и за частую улучшить показатели ЭВМ.
Сжатие будет оставаться в сфере внимания из-за возрастающих объемов, хранимых и передаваемых данных в ПК, кроме того, можно использовать для преодоления некоторых физических ограничений, таких как, например, сравнительно низкая ширина пропускания телефонных каналов.
Другими целями кодирования являются поиск и исправление ошибок, а также шифрование. Процесс поиска и исправления ошибок противоположен сжатию - он увеличивает избыточность данных, когда их не нужно представлять в удобной для восприятия человеком форме.
Удаляя из текста избыточность, сжатие способствует шифрованию, что затрудняет поиск шифра доступным для взломщика статистическим методом.
В этой работе рассматривается актуальность обратимого сжатия или сжатия без наличия помех, где первоначальный текст может быть в точности восстановлен из сжатого состояния. Необратимое или ущербное сжатие используется для цифровой записи аналоговых сигналов, таких как человеческая речь или рисунки. Обратимое сжатие особенно важно для текстов, записанных на естественных и на искусственных языках, поскольку в этом случае ошибки обычно недопустимы.
На сегодняшний день существует огромное количество методов сжатия, в том числе и текстовой информации. Одним из самых ранних и хорошо известных методов сжатия является алгоритм Хаффмана, который был и остается предметом многих исследований [5, 6]. Однако в конце 70-х годов благодаря двум важным переломным идеям он был вытеснен. Одна заключалась в открытии метода Арифметического кодирования, имеющего схожую с кодированием Хаффмана функцию, но обладающего несколькими важными свойствами, которые дают возможность достичь значительного превосходства в сжатии. Другим новшеством был метод Зива-Лемпела, дающий эффективное сжатие и применяющий подход, совершенно отличный от хаффмановского и арифметического [10]. Обе эти техники со времени своей первой публикации значительно усовершенствовались, развились и легли в основу практических высокоэффективных алгоритмов.
Существуют два основных способа проведения сжатия: статистический и словарный. Лучшие статистические методы применяют арифметическое кодирование, лучшие словарные - метод Зива-Лемпела. Целью курсового проекта является словарный метод сжатия текстовых данных.
В статистическом сжатии каждому символу присваивается код, основанный на вероятности его появления в тексте. Высоковероятные символы получают короткие коды, и наоборот. В словарном методе, группы последовательных символов или фраз заменяются кодом. Замененная фраза может быть найдена в некотором словаре. Только в последнее время было показано, что любая практическая схема словарного сжатия может быть сведена к соответствующей статистической схеме сжатия, и найден общий алгоритм преобразования словарного метода в статистический. Поэтому при поиске лучшего сжатия статистическое кодирование обещает быть наиболее плодотворным, хотя словарные методы и привлекательны своей быстротой.
Задача курсовой работы создать программу, позволяющую сжимать текстовую информацию, а затем преобразовывать сжатую информацию в исходное состояние. В программе необходимо предусмотреть два варианта.
1.1 Назначение и область
Целью данного курсового проекта является создание программного продукта, который носит название «Программа для сжатия текста». Данное название было дано с целью пояснить назначение данного проекта.
Область применения: любая ситуация где требуется уменьшение размера текстовых документов для более быстрой передачи данных или сокращения пространства для их хранения.
Поскольку задачей не оговорено, под какую операционную систему должна быть разработана программа, тогда приведем пример реализации программы под управлением операционной системы семейства Windows.
1.2 Технические характеристики
1.2.1 Постановка задачи
Постановка задачи – это первый этап решения задачи на ЭВМ. На этом этапе многие из условий задачи, заданные в форме различных словесных описаний, необходимо выразить на точном языке математике. Для решения достаточно сложных задач этап формализации может потребовать значительных усилий и времени. Среди опытных программистов распространено мнение, что выполнить этап формализации – это значит сделать половину всей работы по созданию программы [16].
Задача создать программу, позволяющую сжимать текстовую информацию, а затем преобразовывать сжатую информацию в исходное состояние. В программе необходимо предусмотреть два варианта:
Для хранения текста в сжатом виде найти часто повторяющиеся последовательности из двух букв и заменить их кодом. В качестве кода использовать символы, не встречающиеся в тексте. Составить таблицу кодов.
В заданном тексте найти слова, которые встречаются более трех раз, закодировать их и сжать текст, заменив слова кодами. Составить таблицу кодов.
1.2.2 Описание алгоритма
Алгоритм устанавливает последовательность точно определенных действий, приводящих к решению задачи. При этом последовательность действий может задаваться посредством словесного или графического описания.
В основе решения любой задачи лежит понятие алгоритма. Под алгоритмом принято понимать «точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату» [4].
При составлении алгоритмов
следует учитывать ряд
Алгоритм должен быть однозначным, исключающим произвольность токования любого из предписаний и заданного порядка исполнения. Это свойство алгоритма называется определенностью.
Реализация вычислительного процесса должна через определенное число шагов привести к выдаче результатов или сообщения о невозможности решения задачи. Это свойство алгоритма называется результативностью.
Решение однотипных задач с различными и сходными данными можно осуществлять по одному и тому же алгоритму, что дает возможность создавать типовые программы для решения задач при различных вариантов задания значений исходных данных. Это свойство алгоритма называется массовостью.
Предопределенный алгоритмом вычислительный процесс можно расчленить на отдельные этапы, элементарные операции. Это свойство алгоритма называется дискретностью [17].
В программе решаются 4 подзадачи:
1. Чтение произвольно выбранного
пользователем текстового файла
2. Построчный анализ
текста на нахождение часто
повторяющейся
3. Анализ текста на
присутствие слов, повторяющихся
несколько раз (число
4. Запись закодированного текста в произвольный файл на диске.
Для графического изображения алгоритмов используются графические символы. Наиболее распространенными являются блочные символы (блоки), соединяемые линиями передач управления. Существует государственный стандарт на выполнение графической записи алгоритма [18].
Использование схем позволяет представить алгоритм в наглядной форме, поэтому наиболее часто используется.
Вычислительный блок представляет собой прямоугольник, в котором записываются расчетные формулы.
ДА НЕТ
Проверка условия изображается
ромбом, внутри которого записывается
это условие. В результате проверки
выбирается один из двух возможных
путей вычислительного
Если условие выполняется, то есть имеет значение ДА, то следующим выполняется этап по стрелке ДА. Если условие не выполняется, то осуществляется переход по стрелке НЕТ.
Начало и конец
При решении задач на ЭВМ исходные данные задаются при вводе в машину. Ввод данных может осуществляться разными способами, например, с клавиатуры, с перфоленты, с диска и т.д. Задание численных значений исходных данных мы будем называть вводом, а фиксацию результатов расчета – выводом. Ввод исходных данных и вывод результатов изображается параллелограммом. Внутри него пишется слово «Ввод» или «Вывод» и перечисляется переменные, подлежащие вводу и выводу [16].
Обобщенная схема алгоритма приведена на Рисунке 1.
Рисунок 1 - Обобщенная схема алгоритма
1.2.3 Организация входных и выходных данных
Разработанное приложение предусматривает использование файлов произвольного доступа. Диалоговое окно для выбора открываемого файла отображает файлы с расширением *.txt для последующего сжатия и файлы *.txt для восстановления в прежнее состояние.
Открытие файлов любого типа не предусмотрено.
Выходные данные записываются
в произвольно выбранную директ
В директории с сохраняемым файлом создается файл «Имя_Файла.dat» с таблицей замены символов.
Для последующего расжатия файла необходимо иметь файл таблицы замены.
При отсутствии данного файла, последующее разжатие не возможно.
1.2.4 Выбор состава технических и программных средств
Технические характеристики компьютера: ПК на базе процессора (CPU) Pentium I и выше; объем оперативной памяти (RAM) не менее 126 Mb; не менее 500 Mb свободного места на винчестере (HDD) с установленной операционной системой семейства Windows 9x, NT.
Именно такие характеристики персонального компьютера необходимы для полноценной работы IDE Delphi 5.0 и программ, созданных в этой среде [7, 8, 9].
Дополнительные средства (принтер, сканер, модем) не требуются.
2.1 Описание программы
Программный продукт имеет название «Программа для сжатия текстовых данных». Программа реализована в программной среде Borland Delphi 5.0 и функционирует под управлением ОС Windows 95/98/Me/NT/2000/XP/2003/Vista b1.
2.2 Разработка приложения
Для разработки приложения «Программа для сжатия текстовых данных» используется среда визуального программирования Delphi. Проект программы содержит три окна: