Методы реализации алгоритмов сортировки и алгоритмов поиска на языках программирования высокого уровня. Программирование алгоритмов сортировки и поиска в рамках создаваемого программного средства на языке Delphi. Создание руководства пользователя.
Аннотация к работе
Предметом исследования в данной курсовой работе являются способы и методы реализации алгоритмов сортировки и алгоритмов поиска на языках программирования высокого уровня, в частности на языке Delphi. В рамках выполнения курсовой работе необходимо решить следующие основные задачи: 1. Подробно рассмотреть основные алгоритмы сортировки данных с подробным их описанием и примерами использования.ОАО «Комитекс» находится в городе Сыктывкаре, столице Республики Коми, на северо-востоке европейской части Российской Федерации. ОАО «Комитекс» имеет несколько представительств в различных регионах России: ООО «Комитекс сервис» (г. Технологии, используемые на предприятии, позволяют выпускать полотна с широким спектром свойств, применяющиеся в самых разных областях. Постепенное наращивание мощностей по выпуску синтетических волокон вывело ОАО «Комитекс» в лидеры по данному виду производства в России. В настоящее время предприятие обеспечивает свои потребности в таких волокнах, что дает дополнительные гарантии качества, объемов, стабильности и гибкости поставок, увеличения технологических возможностей производства нетканых материалов.Предприятие имеет дело с большими объемами информации (списки поставщиков, перечень комплектующих, ассортимент продукции, списки сотрудников) и обрабатывать такие массивы вручную - это довольно большие затраты времени.Сортировка выбором: Сортировка выбором начинается с поиска наименьшего элемента в списке и обмена его с первым элементом (таким образом, наименьший элемент помещается в окончательную позицию в отсортированном списке). Затем сканируется список, начиная со второго элемента, в поисках наименьшего среди оставшихся п - 1 элементов и найденный наименьший элемент обменивается со вторым, т.е. второй наименьший элемент помещается в окончательную позицию в отсортированном списке. В общем случае, при i-ом проходе по списку (0 i п - 2) алгоритм ищет наименьший элемент среди последних п - i элементов и обменивает его с Ai; Элемент А[i] (начиная с элемента А[1] и заканчивая А[n-1]) вставляется в соответствующее место среди первых i элементов массива (которые к этому моменту уже отсортированы). Однако в отличие от сортировки выбором элемент в общем случае вставляется не в окончательную позицию, которую он будет занимать в полностью отсортированном массиве.Для массива, с которым будем работать, используем тип данных String - это позволить осуществлять сортировку и поиск строк. Изначально все кнопки, кроме кнопки «Принять данные», переключатель для показа времени сортировки и поле для ввода шаблона поиска должны быть недоступны. Для этого используем следующую проверку: if Memo1.Text "" then begin Для этого используем следующий фрагмент кода: for i := 1 to Memo1.Lines.Count do mas[i] := Memo1.Lines[i-1]; При последовательном поиске используются данные из левой части формы, предусмотрены проверки на наличие списка и на наличие ключа поиска: if Memo1.Text "" thenДанная форма состоит из трех частей: - область для ввода данных, предназначенных для сортировки или поиска (расположена слева), - область, на которой размещены все кнопки, которые отвечают за выполнение определенных действий в программе (расположена посередине), - область для вывода результатов сортировки или поиска (расположена справа). Область с кнопками в свою очередь состоит из трех основных элементов: - кнопки «Принять данные», - панели «Сортировка данных», - панели «Поиск данных». Для работы с программой необходимо ввести в левую область данные, которые предназначены для сортировки или поиска. Если при этом пользователь забыл ввести данные в левое поле, то программа выдаст предупреждение, показанное на рис 3.3. Если данные были введены, то программа их принимает и происходит разблокировка всех остальных кнопок и переключателя «Показать время сортировки».В первой главе курсовой работы было произведено исследование предприятия и поставлено задание на разработку программы. Были рассмотрены следующие моменты: 1. После этого была выявлена потребность предприятия в написании программы, предназначенной для обработки больших массивов текстовой информации, а именно для сортировки и поиска. Во второй главе были изучены основные моменты, которые необходимы для решения данной задачи, а именно были рассмотрены части используемые алгоритмы сортировки данных и поиска. Среди алгоритмов сортировки были рассмотрены: · сортировка выбором;begin if Memo1.Text "" then begin for i := 1 to Memo1.Lines.Count do mas[i] := Memo1.Lines[i-1]; Button2.Enabled := true; Button3.Enabled := true; Button4.Enabled := true; begin if Memo1.Text "" then begin for i := 1 to Memo1.Lines.Count do temp[i] := Memo1.
План
Оглавление
Введение
1. Обзор предприятия и постановка задач
1.1 Обзор предприятия
1.2 Постановка задачи
2. Основные сведения про используемые алгоритмы сортировки и поиска
3. Разработка программного средства и руководство пользователя
3.1 Описание процесса создания программного средства
3.2 Руководство пользователя
Заключение
Список использованной литературы
Приложения
Введение
Объектом исследования в данной курсовой работе являются алгоритмы сортировки данных и алгоритмы поиска данных.
Предметом исследования в данной курсовой работе являются способы и методы реализации алгоритмов сортировки и алгоритмов поиска на языках программирования высокого уровня, в частности на языке Delphi.
В рамках выполнения курсовой работе необходимо решить следующие основные задачи: 1. Выполнить исследование рассматриваемой организации и точки зрения структуры и используемых технологий.
2. Подробно рассмотреть основные алгоритмы сортировки данных с подробным их описанием и примерами использования.
3. Подробно рассмотреть основные алгоритмы поиска данных с подробным их описанием и примерами использования.
4. Запрограммировать рассмотренные алгоритмы сортировки и поиска в рамках создаваемого программного средства.
5. Разработать детальное руководство пользователя для обучения работе с программой.
Необходимо заметить, что вопросами исследования алгоритмов, их классификацией, анализом и способами их программирования в разное время занимались: Левитин А., Гудман С., Хидетниеми С., Ахо А., Хлопкрофт Дж., Ульман Дж., Цейтлин Г.Е., Кнут Д., Вирт Н., Лорин Г., Макконнелл Дж.
Цель данной курсовой работы - исследование алгоритмов поиска и сортировки данных, приобретение навыков в программировании данных алгоритмов и в конечном итоге - написание программного средства, которое должно реализовывать функции сортировки больших объемов данных и поиска данных.
Вывод
В первой главе курсовой работы было произведено исследование предприятия и поставлено задание на разработку программы.
В качестве рассматриваемого предприятия было выбрано открытое акционерное общество «Комитекс».
Были рассмотрены следующие моменты: 1. История развития предприятия и основные этапы его развития.
2. Укрупненная структура предприятия (представительства).
3. Членство предприятия в различных ассоциациях.
4. Краской обзор используемых на предприятии технологий.
После этого была выявлена потребность предприятия в написании программы, предназначенной для обработки больших массивов текстовой информации, а именно для сортировки и поиска.
Во второй главе были изучены основные моменты, которые необходимы для решения данной задачи, а именно были рассмотрены части используемые алгоритмы сортировки данных и поиска.
Среди алгоритмов сортировки были рассмотрены: · сортировка выбором;
· пузырьковая сортировка;
· сортировка вставкой;
· сортировка подсчетом;
· сортировка Шелла.
Среди алгоритмов поиска были рассмотрены: § последовательный поиск;
§ бинарный поиск;
§ поиск подстроки методом грубой силы.
По каждому алгоритму были рассмотрены: u основная идея алгоритм;
u суть алгоритма;
u приведен псевдокод алгоритма;
u рассмотрен пример работы алгоритма.
После рассмотрения этих вопросов можно было перейти непосредственно к написанию программы.
В качестве среды разработки программного продукта был была выбрана IDE (интегрированная среда разработки) Borland Delphi 7.
В третьей главе данной курсовой работы детально расписан процесс создания программного средства.
Показана структура программного средства, перечислены компоненты, которые применялись для создания интерфейса программного средства. Далее был выбран тип данных для массива, который будет содержать исходные данные.
После этого было описана логика работы программы и приведены следующие фрагменты кода: - проверка на наличие исходных данных;
- код для считывания данных в специальный массив и разблокировки элементов;
- обработчики кнопок, предназначенных для сортировки;
- код одного из используемых алгоритмов сортировки (сортировка вставками);
- обработчик кнопки для последовательного поиска;
- обработчик кнопки для бинарного поиска;
- обработчик кнопки для поиска подстрок.
Затем было создано руководство пользователя, которое предназначено для обучения пользователей работе с программой.
Необходимо заметить, что в данном руководстве описаны все функции программы и указан порядок действий пользователя при работе с ней.
При этом рассмотрены все возможные ошибочные действия пользователя.
Все поставленные в первом разделе задачи в процессе выполнения работы были выполнены.
Существует мнение, что применение данного программного средства позволит значительно сократить время, которые затрачивается на рутинные операции сортировки данных и поиска необходимых данных, что в свою очередь приведет к повышению производительности труда. Кроме того, использование данного программного средства сведет вероятность ошибок при выполнении данной работы к минимуму.
Список литературы
1. Левитин Ананий. Алгоритмы: введение в разработку и анализ. :Пер. с англ. - М.: Издательский дом «Вильямс», 2006. - 576с. : ил.
2. Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов. - М.: Мир, 1981.
3. Ахо А., Хлопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. - М.: Мир. 1974.
4. Ахо A.B., Хопкрофт Д.Э., Ульман Д.Д. Структуры данных и алгоритмы. -М.: Вильяме, 2000. 384с.
5. Цейтлин Г.Е. Введение в алгоритмику. Киев: Сфера, 1998. 473с.
6. Кнут Д. Искусство программирования для ЭВМ. Т. 1. Основные алгоритмы. - М.: Мир, 1976.
7. Кнут Д. Искусство программирования для ЭВМ. Т. 3. Сортировка и поиск. - М.: Мир, 1978.
8. Вирт Н. Алгоритмы и структуры данных. М.: Мир, 1989. - 360с.
9. Лорин Г. Сортировка и системы сортировки. М.: Наука, 1983. - 384с.
10. Цейтлин Г.Е. Алгоритмы адаптивной сортировки и их классификация. // Проблемы управления и информатики 1995, № 3. С. 95-103.
11. Макконнелл Дж. Анализ алгоритмов. Вводный курс. М.: Техносфера, 2002.-304с.
12. Архангельский А. Я. Object Pascal в Delphi. - М: ЗАО ?Издательство БИНОМ, 2002.
13. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. - СПБ.: Питер, 2007. - 393с.
14. М.В. Сухарев Основы Delphi. Профессиональный подход. - СПБ.: Наука и Техника, 2004. 600c.
15. Н.Б. Культин Программирование в Turbo Pascal 7.0 и Delphi - СПБ.: BHV - Санкт-Петербург 1998 - 240с.