Алгоритмы поиска и сортировки данных

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

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

?ерфейса программного средства. Далее был выбран тип данных для массива, который будет содержать исходные данные.

После этого было описана логика работы программы и приведены следующие фрагменты кода:

проверка на наличие исходных данных;

код для считывания данных в специальный массив и разблокировки элементов;

обработчики кнопок, предназначенных для сортировки;

код одного из используемых алгоритмов сортировки (сортировка вставками);

обработчик кнопки для последовательного поиска;

обработчик кнопки для бинарного поиска;

обработчик кнопки для поиска подстрок.

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

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

При этом рассмотрены все возможные ошибочные действия пользователя.

Все поставленные в первом разделе задачи в процессе выполнения работы были выполнены.

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

Список использованной литературы

 

1. Левитин Ананий. Алгоритмы: введение в разработку и анализ. :Пер. с англ. - М.: Издательский дом Вильямс, 2006. - 576с. : ил.

. Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов. - М.: Мир, 1981.

. Ахо А., Хлопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. - М.: Мир. 1974.

. Ахо A.B., Хопкрофт Д.Э., Ульман Д.Д. Структуры данных и алгоритмы. -М.: Вильяме, 2000. 384с.

. Цейтлин Г.Е. Введение в алгоритмику. Киев: Сфера, 1998. 473с.

. Кнут Д. Искусство программирования для ЭВМ. Т. 1. Основные алгоритмы. - М.: Мир, 1976.

. Кнут Д. Искусство программирования для ЭВМ. Т. 3. Сортировка и поиск. - М.: Мир, 1978.

. Вирт Н. Алгоритмы и структуры данных. М.: Мир, 1989. - 360с.

. Лорин Г. Сортировка и системы сортировки. М.: Наука, 1983. - 384с.

. Цейтлин Г.Е. Алгоритмы адаптивной сортировки и их классификация. // Проблемы управления и информатики 1995, № 3. С. 95-103.

. Макконнелл Дж. Анализ алгоритмов. Вводный курс. М.: Техносфера, 2002.-304с.

. Архангельский А. Я. Object Pascal в Delphi. - М: ЗАО ?Издательство БИНОМ, 2002.

. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. - СПб.: Питер, 2007. - 393с.

. М.В. Сухарев Основы Delphi. Профессиональный подход. - СПб.: Наука и Техника, 2004. 600c.

. Н.Б. Культин Программирование в Turbo Pascal 7.0 и Delphi - СПб.: BHV - Санкт-Петербург 1998 - 240с.

. Грызлов В.И., Грызлова Т.П. Турбо Паскаль 7.0 - М.: ДМК, 1998 - 400с.

. Ж.Джонс, К.Жарроу Решение задач в системе TurboPascal. - М., Финансы и статистика 1991 - 714с.

. Delphi 5. Руководство программиста. - М.: Нолидж, 2001. - 880с

. Архангельский А. Я. Delphi 7. Справочное пособие,- М: ЗАО ?Издательство БИНОМ, 2003.

. Культин Н. Б. Delphi 6 Программирование на Object Pascal - СПб : БХВ-Петербург 2001 - 528с : ил.

. Архангельский А. Я. Приемы программирования в Delph. Версии 5-7. - М: ЗАО ?Издательство БИНОМ?, 2003.

. Фленов М. Е. Библия Delphi. - СПб.: БХВ-Петербург, 2004. - 880с.:

. Гринзоу Лу. Философия программирования для Windows 95/NT. пер.с англ. - СПб.: Символ-плюс, 1997. - 640с.

Тейксейра C, Пачеко К Borland Delphi 6. Руководство разработчика. : Пер. с англ. - М. : Издательский дом Вильямс, 2002. - 1120с.

Приложение 1

 

Текст программы

unit UnitMain;

interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, DateUtils, ExtCtrls;= class(TForm): TGroupBox;: TMemo;: TGroupBox;: TButton;: TGroupBox;: TButton;: TButton;: TButton;: TButton;: TButton;: TGroupBox;: TButton;: TButton;: TButton;_Shablon: TLabeledEdit;: TGroupBox;: TMemo;: TCheckBox;Button1Click(Sender: TObject);Button2Click(Sender: TObject);Button3Click(Sender: TObject);Button4Click(Sender: TObject);Button5Click(Sender: TObject);Button6Click(Sender: TObject);Button7Click(Sender: TObject);Button9Click(Sender: TObject);Button8Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TMainForm;: array [0..1000] of String;: integer;: TLargeInteger;, T2: TLargeInteger;

theni:=1toMemo1.Lines.Countdo[i]:=Memo1.Lines[i-1];:=Memo1.Lines.Count;.Enabled:=true;.Enabled:=true;.Enabled:=true;.Enabled:=true;.Enabled:=true;.Enabled:=true;.Enabled:=true;.Enabled:=true;_Shablon.Enabled:=true;.Enabled:=true;(!,mtWarning,[mbOK],0);;TMainForm.Button2Click(Sender:TObject);,j,min:integer;:String;(iCounterPerSec);(T1);i:=1tokol-1do:=i;j:=i+1tokoldomas[j]<mas[min]then:=j;:=mas[min];[min]:=mas[i];[i]:=temp;;(T2);CheckBox1.Checked=truethen(+FormatFloat(0.00000000000,(T2-T1)/iCounterPerSec)+.,mtInformation,[mbOK],0);.Lines.Clear;i:=1tokoldo.Lines.Add(mas[i]);;TMainForm.Button3Click(Sender:TObject);,j,min:integer;:String;(iCounterPerSec);(T1);i:=1tokol-1doj:=1tokol-idomas[j+1]<mas[j]then:=mas[j];[j]:=mas[j+1];[j+1]:=temp;;(T2);CheckBox1.Checked=truethen(+FormatFloat(0.00000000000,(T2-T1)/iCounterPerSec)+.,mtInformation,[mbOK],0);.Lines.Clear;i:=1tokoldo.Lines.Add(mas[i]);;TMainForm.Button4Click(Sender:TObject);,j,min:integer;:String;(iCounterPerSec);(T1);i:=1tokoldo:=mas[i];:=i-1;(j>=0)and(mas[j]>temp)do[j+1]:=mas[j];:=j-1;[j+1]:=temp;;(T2);CheckBox1.Checked=truethen(+FormatFloat(0.00000000000,(T2-T1)/iCounterPerSec)+.,mtInformation,[mbOK],0);.Lines.Clear;i:=1tokoldo.Lines.Add(mas[i]);;TMainForm.Button5Click(Sender:TObject);,j,min:integer;:array[0..10000]ofString;:array[0..10000]ofinteger;(iCounterPerSec);(T1);i:=1tokoldo[i]:=0;i:=1tokol-1doj:=i+1tokoldomas[i]<mas[j]then(count[j])(count[i]);;i:=1tokoldo[count[i]]:=mas[i];(T2);CheckBox1.Checked=truethen(%