Разработка толкового словаря

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Программирование
  • 1111 страниц
  • 6 + 6 источников
  • Добавлена 07.02.2007
800 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы

Введение
Актуальность темы.
Постановка задачи.
Описание выбранной модели и ее программной реализации.
Типы данных.
Алгоритм обработки пользовательского запроса.
Программная реализация алгоритмов: процедуры и функции.
Интерфейс пользователя.
Ограничения по памяти.
Заключение
Литература.

Фрагмент для ознакомления

В данной программе применяется хеш-функция, составленная из двух первых букв исходного английского слова.

Программная реализация алгоритмов: процедуры и функции.
Конструктор объекта TWordList
constructor Create(FileName : string);
осуществляет загрузку из файла dict.txt базы словаря. В каждой строке этого текстового файла находится английское слово, за которым следует пробел, а далее до конца строки. При загрузке осуществляется сортировка элементов массива и построение хеш-таблицы.
Деструктор объекта
destructor Done;
осуществляет освобождение зарезервированной памяти и закрытие файла dict.txt , если он был успешно открыт ранее.
Процедура
procedure SortWords;
реализует сортировку элементов в массиве слов с переводами по значению исходного английского слова.
Процедура
procedure CreateIndex;
осуществляет формирование хеш-таблицы. В качестве хеш-функции выступают значения двух первых букв исходного английского слова.
Функция
function GetTranslation( s : string) : string;
осуществляет поиск в массиве элемента с ключом s, используя при этом хеш-таблицу. Блок-схема функции приведена в приложении.
Функция
function TestTranslation( s : string) : Integer;
осуществляет поиск элемента в массиве по ключу без использования хеш-таблицы и предназначена для оценки времени работы программы.

Интерфейс пользователя.
Программа имеет текстовый интерфейс. После запуска программы появляется строка подсказки, предлагающая найти перевод слова, замерить быстродействие программы или покинуть программу.
При вводе пользователем слова будет осуществлен его поиск в базе словаря и, в случае успеха, на экран будет напечатан перевод. Если же слово не будет обнаружено в базе словаря, то об этом также будет выведено сообщение.
При нажатии на кнопку «Enter» непосредственно после появления строки подсказки происходит выход из программы.
При вводе символа «*» в ответ на запрос пользовательского слова будет выполнено тестирование быстродействия программы и на экран будет выдано время работы основных этапов алгоритма обработки пользовательского запроса.

Ограничения по памяти.
Выбранные структуры представления данных и компилятор Турбо Паскаль 7.0 налагают следующие ограничения на количество вводимых слов, длину исходных английских слов и их переводов. Для длины слова установлена верхняя граница в 20 символов, для длины перевода – в 200 символов. Так как размеры наибольшего динамически выделяемого блока в куче в среде Турбо Паскаль 7.0. составляют не более 655360 байт, в словарь можно добавить не более 2950 слов.





Заключение.

В данной работе осуществлена программная реализация электронного англо-русского толкового словаря. Программа разработана на основе широко применяемой для решения подобных задач методики поиска в массиве отсортированных элементов с использованием хеширования. Выбранные алгоритмы и структуры описания типов данных позволяют достичь, с одной стороны, эффективности программной реализации, а с другой стороны, наглядности и простоты программного кода.

Литература.
Н. Вирт. Алгоритмы и структуры данных. С.-Петербург: Невский диалект ,2001.
И.Ф. Бабалова. Язык Турбо-Паскаль. Учебное пособие. М.: МИФИ, 1991
В. Г. Давыдов. Программирование и основы алгоритмизации. "Высшая школа", 2003.
О. Козлов, Ю. Аляев. Алгоритмизация и языки программирования Pascal, C++, Visual Basic, "Финансы и статистика" · 2002 г.
Д. Э. Кнут. Искусство программирования. Т. 2. - 3-е изд. М.: Вильямс, 2002-2004.
В.И. Грызлов, Т.П. Грызлова. Турбо Паскаль 7.0. М.: «ДМК», 1999.
Приложение 1. Блок-схема программы.


Приложение 2. Блок-схема алгоритма поиска слова в массиве: функция GetTranslation.


Выбор пользователя

Ввод новой информации пользователем

Обработка введенных данных

Добавление введенных данных к хранимой информации

Пользовательский запрос на выдачу информации

Поиск требуемой информации в хранимых данных

Выдача результатов обработки запроса

Искомое слово: word

i := Index[word[1], word[2]]

word = WordArray[i].source?

word < WordArray[i].source?

i := i + 1

Результат функции:
WordArray[i].
Translation

Результат функции:
пустая строка


Да

Да

Нет

Нет

Начало

Ввод слова пользователем

Вывод приглашения на ввод

Введено пустое слово?

Поиск перевода в словаре

Перевод найден?

Выдача перевода

Выдача сообщения об отсутствии слова в словаре

Выход

да

нет

нет

да

Формирование индексирующего массива

Считывание и сортировка словаря

1.Н. Вирт. Алгоритмы и структуры данных. С.-Петербург: Невский диалект ,2001.
2.И.Ф. Бабалова. Язык Турбо-Паскаль. Учебное пособие. М.: МИФИ, 1991
3.В. Г. Давыдов. Программирование и основы алгоритмизации. "Высшая школа", 2003.
4.О. Козлов, Ю. Аляев. Алгоритмизация и языки программирования Pascal, C++, Visual Basic, "Финансы и статистика" • 2002 г.
5.Д. Э. Кнут. Искусство программирования. Т. 2. - 3-е изд. М.: Вильямс, 2002-2004.
6.В.И. Грызлов, Т.П. Грызлова. Турбо Паскаль 7.0. М.: «ДМК», 1999.

Вопрос-ответ:

Какая актуальность темы разработки толкового словаря?

Разработка толкового словаря по-прежнему остается актуальной задачей, так как необходимость в качественной и информативной справочной информации по словам и их значениям остается высокой.

Как поставлена задача разработки словаря?

Задача разработки словаря состоит в создании удобного и наглядного инструмента, который поможет пользователям быстро найти необходимую информацию о слове: его значении, синонимах, антонимах и т.д.

Какая модель и программная реализация выбрана для создания словаря?

Для создания словаря выбрана модель, основанная на хеш-функции, составленной из двух первых букв английского слова. Программная реализация алгоритмов включает в себя процедуры и функции, которые обеспечивают быстрое и точное нахождение нужного слова.

Какие типы данных используются при разработке словаря?

При разработке словаря используются различные типы данных, такие как строки, массивы, хеш-таблицы и т.д. Эти типы данных позволяют эффективно хранить и обрабатывать информацию о словах и их значениях.

Как алгоритм обрабатывает пользовательский запрос?

Алгоритм обрабатывает пользовательский запрос, сравнивая его с хеш-значением каждого слова в словаре. При совпадении хеш-значений алгоритм возвращает соответствующее слово и его значение.

Какая актуальность у темы разработки толкового словаря?

Разработка толкового словаря по-прежнему остается актуальной темой. Словари необходимы для уточнения значения иностранных слов, а также для развития лексического богатства родного языка.

Какая постановка задачи есть у разработки толкового словаря?

При разработке толкового словаря необходимо определить способы сбора данных, составить модель словаря, реализовать алгоритмы для обработки запросов пользователей. Также важно предусмотреть удобный интерфейс пользователя и ограничения по использованию памяти.

Какая модель была выбрана для разработки толкового словаря?

Для разработки толкового словаря была выбрана модель, основанная на хеш-функции, составленной из двух первых букв исходного английского слова. Это позволяет эффективно искать и обрабатывать слова в словаре.

Какими типами данных оперирует программа разработки толкового словаря?

Программа разработки толкового словаря оперирует различными типами данных, такими как строки для хранения слов и их толкований, хеш-таблицы для организации быстрого доступа к данным, а также массивы и структуры данных для организации словаря в памяти.

Как происходит обработка пользовательского запроса в программе разработки толкового словаря?

Для обработки пользовательского запроса в программе разработки толкового словаря применяется алгоритм, который сначала вычисляет хеш-значение от запроса, затем ищет соответствующее слово в словаре и выводит его толкование пользователю. Если слово не найдено, программа сообщает об этом.