Санкт-Петербургский
Государственный морской технический университет
Факультет морского приборостроения.
Кафедра САУ и БВТ
РЕФЕРАТ
ПО ДИСЦИПЛИНЕ
“ИНФОРМАТИКА”
НА ТЕМУ:
“Основные способы обработки большого количества текстовой информации”.
Выполнил: студентка гр. 31ВМ1 (3111)
Жаркова А.Н.________
Проверил: Д.Т.Н., профессор
Жуков Ю.И.________
Санкт - Петербург
2000 г.
Реферат составлен на страницах. Содержит 2 рисунка, 3 таблицы и 2 приложения.
Ключевые слова: адресация, автокоррекция, сжатие.
Целью реферата является разработка и описание трех практических задач современной информатики:
- адресации элементов баз данных, множества или списка, для определения по первичному ключу местоположения элемента в блоке информации;
- автокоррекции языковых текстов для обнаружения и исправления ошибок в текстах;
- сжатии данных, для хранения данных в предельно компактной форме.
1.1. Последовательное сканирование списка.. 5
1.4. Индексно-последовательная организация.. 6
1.5. Индексно-произвольная организация.. 6
1.6. Адресация с помощью ключа, эквивалентного адресу.. 7
1.7. Алгоритм преобразования ключа в адрес.. 8
ЧАСТЬ 2. АВТОКОРРЕКЦИЯ ТЕКСТА.. 11
1.1. Методы обнаружения ошибок.. 11
1.2. Автоматизация процесса исправления.. 11
1.3. Диалоговый и пакетный режимы... 12
ЧАСТЬ 3. СЖАТИЕ ИНФОРМАЦИИ.. 13
1.1. Сжатие числовых данных.. 13
1.3. Сжатие специальных текстов.. 14
1.4. Сжатие структурированных данных.. 15
1.5. Сжатие текстовой информации общего вида.. 15
1.5.1. Адаптивные алгоритмы... 16
1.5.2. Статистические алгоритмы. 16
1.5.2.1. Кодирование фрагментов фиксированной длины... 16
1.5.2.2. Кодирование фрагментов переменной длины... 17
ПРИЛОЖЕНИЕ 1. Методы сжатия данных. 18
Настоящий реферат состоит из трех самостоятельных частей, в которых излагаются три практические задачи современной информатики – адресация элементов данных линейного списка, автокоррекция естественно языковых текстов, сжатие данных.
Они призваны, с одной стороны, для ознакомления с некоторыми практическими задачами информатики, а с другой – закрепить навыки прикладного программирования и составления блок-схем.
Первая задача нашла свое применение в таких программных продуктах, как системы управления базами данных, операционные системы (организация поисковых операций в системных данных), компиляторы (работа с таблицами идентификаторов) и многих других. Алгоритмы адресации имеют универсальный характер и используются практически во всех задачах, в которых ведется организация и поиск информации в одномерных массивах, независимо от места ее нахождения – основная память или внешняя.
Вторая задача носит более частный характер, а изложенные методы используются при проверке орфографии в текстовых и табличных процессорах, издательских системах, а также как средство верификации результатов работы сканера – после распознавания текста для устранения возможных ошибок выполняется его орфографический анализ.
Проблема сжатия данных решается в современных архиваторах. Они, как правило, используют комбинацию методов, изложенных в третьей части.
Задачи программируются на языке программирования, который изучается в курсе «Алгоритмические языки и программирование», и, тем самым, закрепляют навыки, полученные в этой дисциплине. Кроме этого, требование подготовки блок-схем средствами WinWord позволяет углубить знания, связанные, с одной стороны, с логическим проектированием алгоритма, а с другой – с правилами начертания блок-схем.
Запрограммированные и отлаженные задачи должным образом оформляются, что также способствует умению правильно и аккуратно закреплять результат работы на бумажном носителе информации.
Основную проблему при адресации элементов списков можно сформулировать следующим образом: как по первичному ключу определить местоположение элемента с данным ключом (задача поиска)? Существует несколько различных способов адресации. Они рассматриваются далее.
Иногда бывает необходимо объединить несколько полей, чтобы образовать уникальный ключ, называемый в этом случае сцепленным ключом: например, ключ, идентифицирующий студента в институте, является комбинацией номера группы, фамилии, имени и отчества студента (есть случаи, когда в одной группе учатся студенты с одинаковыми фамилиями и именами).
Кроме простого и сцепленного, ключ может быть первичным – определять максимум один элемент в списке или вторичным – определять множество (в общем случае не одноэлементное) элементов в списке. Например, фамилия студента в учебной группе, как правило, является первичным ключом, а пол студента – вторичный ключ, поскольку одному значению этого ключа (мужской или женский) соответствует, в общем случае, группа студентов.
1.1. Последовательное сканирование списка
Наиболее простым способом локализации элемента списка является сканирование списка с проверкой ключа каждого элемента. Этот способ, однако, требует слишком много времени для большинства применений. Он может быть эффективен только при пакетной обработке последовательного файла, находящегося, например, на магнитной ленте, когда каждая запись все равно должна быть прочитана.
Если элементы упорядочены по ключу, то при сканировании списка не требуется чтение каждого элемента. Компьютер мог бы, например, просматривать каждый n-ный элемент в последовательности возрастания ключей. При нахождении элемента с ключом, большим, чем ключ, используемый при поиске, просматриваются последние n-1 элементов, которые были пропущены. Этот способ называется блочным поиском: элементы группируются в блоки, и каждый блок проверяется по одному разу до тех пор, пока ни будет найден нужный блок. Вычисление оптимального для блочного поиска размера блока выполняется следующим образом: в списке, содержащем N элементов, число просмотренных элементов минимально при длине блока, равной ÖN. При этом в среднем анализируется ÖN элементов.При двоичном поиске рассматривается элемент, находящийся в середине области, в которой выполняется поиск, и его ключ сравнивается с поисковым ключом. Затем поисковая область делится пополам, и процесс повторяется. При этом, если N велико, то в среднем будет просмотрено примерно log2N-1 элементов. Это число меньше, чем число просмотров для случая блочного поиска.
1.4. Индексно-последовательная организация
В общем случае сканирование (последовательный поиск) в списках для нахождения в них элемента является процессом, требующим много времени, если он выполняется над всем списком. Однако его можно использовать для точной локализации элемента в небольшой области, если эта область найдена некоторым другим способом.
Если список упорядочен по ключам, то обычно при адресации используется таблица, называемая индексом. При обращении к таблице задается ключ искомого элемента, а результатом процедуры поиска в таблице является относительный или абсолютный адрес элемента.
Индекс можно определить как таблицу, с которой связана процедура, воспринимающая на входе информацию о некоторых значениях атрибутов и выдающая на выходе информацию, способствующую быстрой локализации элемента или элементов, которые имеют заданные значения атрибутов. Индекс использует в качестве входной информации ключ и дает на выходе информацию, относящуюся к физическому адресу данного элемента.
Если для адресации используется индекс, ЭВМ в основном производит поиск в индексе, а не в списке. При этом существенно экономится время, но требуется память для хранения индекса. Это похоже на использование картотеки в библиотеке. Пользователь отыскивает название требуемой книги в картотеке и находит номер книги по каталогу, который является как бы относительным адресом положения книги на полках.