Программа частотного словаря сочетаний слов

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

° кнопку Поиск или нажатия кнопки Enterна клавиатуре. Результаты поиска выводятся под полем Поиск (рис. 4.5).

 

Рис. 4.5. Поиск словосочетания не смотрите

 

Полученный словарь можно сохранить в файл с помощью кнопки Сохранить (рис. 4.6).

Рис. 4.6. Сохоанение словаря на жестком диске

 

При сохранении файла необходимо через точку в имени файла указать его расширение (.txt или.rtf).

 

.Системные требования и имеющиеся ограничения

 

1.Операционная система: MSWindowsXP/Vista/7 с установленнымFramework (версии 2.0 и старше). Количество необходимой памяти: 8 Мб ОЗУ, 8 Мб свободного места на жёстком диске.

.Программа работает с текстовыми файлами форматов.txtи.rtf. Разделители вводятся в строку через пробел! Разделитель - один символ.

.В процессе работы приложения не учитывается регистр.

.Программа обрабатывает тексты, занимающие не более 32 Кб памяти в силу ограничений компонента Memo.

 

.Тестирование приложения

 

Тестирование заключалось в проверке работоспособности приложения вне зависимости от объема введенного текста. Результаты тестирования приведены в рисунках 4.1-4.3.

 

Рис. 6.1 Текст, состоящий и 79 слов

 

Рис. 6.2 Текст, состоящий из 2146 слов

 

Рис. 6.3 Текст, состоящий из 3910 слов

 

.Анализ временных характеристик и выводы

 

При помощи команды showmessage произведен тестпроизводительности алгоритма на разных объёмах входных данных. Тествыдавал информацию о количественных характеристиках работы алгоритма, таких как объем обрабатываемого текста (таб. 6.1) и количество словосочетаний, перестановок при сортировке и обходов частей массива при поиске (таб. 6.2).Ссылаясь на результаты тестирования, можно сделать вывод, что время составления словаря линейно зависит от количества входящей информации.

 

Таб. 6.1 Зависимость времени составления словаря от объема текста

Объем текстаВремя100 строк15200 строк31500 строк1091000 строк203

Таб. 6.2 Кол-во перестановок при сортировке и обходов при поиске.

Объем словаряВремя сортировкиКол-во перестановок при сортировкеКол-во обходов при поиске200159264004785876607841208

Рис. 7.1 Зависимость времени составления словаря от объема введенного текста

 

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

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

Нелинейность последнего графика обусловлена тем, что кол-во словосочетаний зависит не только от объема текста, но и от количества предложений в нем

 

 

Заключение

приложение тестирование интерфейс пользователь

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

 

Список литературы

 

1.А.Я. Архангельский. Программирование в Delphi. - Москва: Изд-во Бином-Пресс, 2003-1152 с.

2.Е.П. Марков. Программирование в Delphi 7. - Санкт-Петербург: Изд-во БХВ-Петербург, 2005 - 784 с.

.Сортировка методом обмена // Уроки программированияURL:

.Двоичный поиск // Википедия - свободная энциклопедия URL:

.Двоичный поиск // Delphiпрограммирование URL:

.DelphiTOpenDialog // DelphiпрограммированиеURL:

.Delphi TSaveDialog // DelphiпрограммированиеURL:

 

Приложение. Текст программы

 

unitUnit1;

 

interface

 

uses

Winapi. Windows, Winapi. Messages, System. SysUtils, System. Variants, System. Classes, Vcl. Graphics,. Controls, Vcl. Forms, Vcl. Dialogs, Vcl. StdCtrls, Vcl. ExtCtrls;

= class(TForm): TMemo;: TMemo;: TButton;: TButton;: TButton;: TButton;: TEdit;: TLabel;: TLabel;: TLabel;: TMemo;: TButton;: TRadioGroup;: TButton;: TLabel;: TLabel;: TLabel;Button1Click (Sender: TObject);Button2Click (Sender: TObject);Button4Click (Sender: TObject);Button3Click (Sender: TObject);Button6Click (Sender: TObject);Button5Click (Sender: TObject);Edit1KeyPress (Sender: TObject; var Key: Char);

{Private declarations}

{Public declarations};

: TForm1;, Slvr, Razdel:string;: array of string;

 

 

{$R *.dfm}

TForm1. Button1Click (Sender: TObject); // Открыть: TOpenDialog;: TextFile;:string;

. Clear;. Lines. Add ( );:= TOpenDialog. Create(self);. InitialDir:= GetCurrentDir;

// Только разрешенные существующие файлы могут быть выбраны

openDialog. Options:= [ofFileMustExist];

// Разрешено выбрать только.txt и.rtf файлы

openDialog. Filter:=

Text Files|*.txt;*.rtf;

 

// Диалоготкрытияфайла. Execute:=openDialog. FileName;(Tekst, Fail);(Tekst);

not eof(Tekst) do(Tekst, s);. Lines. Add(s);;. Lines. Delete(0);

;

;

TForm1. Button2Click (Sender: TObject); // Настройки: TOpenDialog;: TextFile;:string;

Memo3. Lines. Count=0 then Memo3. Lines. Add();:= TOpenDialog. Create(self);. InitialDir:= GetCurrentDir;

// Только разрешенные существующие файлы могут быть выбраны

openDialog. Options:= [ofFileMustExist];

 

// Разрешено выбрать только.txt и.rtf файлы

openDialog. Filter:=

Text Files|*.txt;*.rtf;

 

// Диалоготкрытияфайла. Execute:=openDialog. FileName;(Tekst, Razdel);(Tekst);

not eof(Tekst) do(Tekst, s);. Lines. Add(s);;. Lines. Delete(0);

;;TForm1. Button3Click (Sender: TObject); // Пуск

, p, j, k, e, p1, h, x, t: integ