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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


курсовая работа Алгоритмы сортировки

Информация:

Тип работы: курсовая работа. Добавлен: 04.07.2012. Сдан: 2010. Страниц: 8. Уникальность по antiplagiat.ru: < 30%

Описание (план):


ВСЕРОССИЙСКИЙ ЗАОЧНЫЙ ФИНАНСОВО-ЭКОНОМИЧЕСКИЙ
ИНСТИТУТ
КАФЕДРА АВТОМАТИЗИРОВАННОЙ ОБРАБОТКИ
ЭКОНОМИЧЕСКОЙ ИНФОРМАЦИИ 
 
 
 
 

КУРСОВАЯ  РАБОТА
по дисциплине «Информатика»
на тему «Алгоритмы сортировки» 
 
 
 
 
 

Исполнитель:     
                                       Левченко Галина Васильевна                                                                                                                                                                                               
                                                            специальность  Менеджмент организации
                                                     № зачетной книжки     08 ММД 13913
                                                           Руководитель:
                                                           Чуканов Сергей Николаевич – профессор, д.т.н.
         
 
 
 
 

                                               Омск – 2010
 

    ОГЛАВЛЕНИЕ 

Введение………………………………………………………...........3
I. Теоретическая часть:
Что представляют собой алгоритмы сортировки……………….…4
Алгоритмы сортировки данных………………………………..…...6
II. Практическая часть…………………………………………….…11
Заключение…………………………………………………………...19
Список использованной литературы………………………………..21
 

    Введение 

    В данной курсовой работе будут рассмотрены  основные параметры оценки алгоритмов сортировки, наиболее известные методы сортировки, а в практической части  на основе экономической задачи будет  представлено, как удобно с помощью Microsoft Excel выполнить расчеты, проанализировать полученные числовые данные, а также представить результаты в графическом виде.
    Таким образом, целью курсовой работы является описание существующих алгоритмов сортировки и решение задачи экономического типа на основе программы MS Excel.
    Исходя  из цели, следует сформулировать задачи, которые предстоит решить для  наиболее полного и качественного  представления информации, необходимой  в достижении поставленной цели наиболее кратким путем.
    Таким образом, задачами курсовой работы являются:
    - найти определение понятию алгоритма  сортировки;
    - определить основные параметры  оценки алгоритмов сортировки;
    - рассмотреть различные методы  сортировки данных;
    - разработать алгоритм решения  экономической задачи, представленной в практической части работы;
    - использовать в работе, в целях  более наглядного восприятия, шаблоны 
выходных  документов, показав их расположение на рабочем листе 
табличного  процессора;
    - представить конечные выходные  документы, созданные на основе разработанного алгоритма. 
 

    I. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
    Что представляет собой  алгоритм сортировки 

    Сортировка  – один из наиболее распространенных процессов современной обработки данных. Задачи на сортировку данных встречаются на компьютере очень часто. Главным образом, это связано с тем, что разбираться в отсортированных данных намного проще, чем в неотсортированных.
        Алгоритм сортировки — это порядок действий для упорядочения элементов в списке. Обычно говорят о сортировке записей (содержащих любые данные) по ключам – фрагментам этих записей, допускающих отношение упорядочения. Например, ключи могут быть числами (в этом случае используется естественный математический порядок возрастания или убывания чисел) или строковыми значениями (в этом случае упорядочение производится по алфавиту). [4, стр. 195]
    Наверно, никакая другая проблема не породила такого количества разнообразнейших решений, как задача сортировки. Существует ли некий «универсальный», наилучший алгоритм? Возможно, нет. Однако, имея приблизительные характеристики исходных данных, можно подобрать метод, работающий оптимальным образом.
    Оценка  алгоритма сортировки.
    Для того чтобы обоснованно сделать  выбор метода сортировки, рассмотрим параметры, по которым будет производиться оценка алгоритмов.
    • Время сортировки. Основной параметр, характеризующий быстродействие алгоритма. Называется также вычислительной сложностью.
    • Память. Ряд алгоритмов требует выделения дополнительной памяти под временное хранение данных. При оценке используемой памяти не будет учитываться место, которое занимает исходный массив и независящие от входной последовательности затраты, например, на хранение кода программы.
    • Устойчивость. Устойчивая сортировка не меняет взаимного расположения равных элементов. Такое свойство может быть очень полезным, если они состоят из нескольких полей, а сортировка происходит по одному из них.
    • Естественность поведения — эффективность метода при обработке уже
отсортированных, или частично отсортированных данных. Алгоритм ведёт себя естественно, если учитывает эту характеристику входной последовательности и работает лучше.
    Ещё одним важным свойством алгоритма  является его сфера применения. Здесь  основных типов сортировки две:
    • Внутренняя сортировка оперирует с массивами, целиком помещающимися в оперативной памяти с произвольным доступом к любой ячейке. Данные обычно сортируются на том же месте, без дополнительных затрат.
    • Внешняя сортировка оперирует с запоминающими устройствами большого объёма, но с доступом не произвольным, а последовательным (сортировка файлов), то есть в данный момент мы «видим» только один элемент, а затраты на перемотку по сравнению с памятью неоправданно велики. Это накладывает некоторые дополнительные ограничения на алгоритм и приводит к специальным методам сортировки, обычно использующим дополнительное дисковое пространство. Кроме того, доступ к данным на носителе производится намного медленнее, чем операции с оперативной памятью. [7]
 

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

    Существует  множество методов сортировки, каждый из которых имеет свои достоинства и недостатки.
    Один  из самых простых (но и самых медленных) способов сортировки – это сортировка подсчетом. Она основывается на том, что номер данной записи в отсортированной последовательности определяется тем, сколько записей имеют меньшие ключи. Таким образом, проведя сравнение, можно определить место данной записи в отсортированной последовательности. Этот метод применяют в тех случаях, когда реальное изменение положения записи нежелательно или невозможно.
    Фактически, мы создаем новую таблицу ключей в дополнение к старой, в которой числовой ключ однозначно определяет место записи в отсортированной последовательности.  
    Обменная  сортировка
    Обменная  сортировка массива состоит в  систематическом обмене элементов, нарушающих упорядоченность, пока они существуют. Эффективные метода такой сортировки требуют сравнения пар элементов, располагающихся далеко друг от друга, чтобы при обмене порядок расположения изменялся резко.
    Если  сравнивать только элементы, расположенные рядом, то не удастся добиться лучшего результата, чем при использовании простых вставок. Однако такие алгоритмы, хотя и не очень эффективны, зато более просты.
    Рассмотрим  один из простейших методов обменной сортировки – так называемый метод «пузырька». Он называется так потому, что в результате этой сортировки записи с меньшими ключами «опускаются на дно», а записи с большими ключами – «всплывают» как пузыри.
    В результате одного шага алгоритма гарантировано  определяется самый большой ключ и соответствующая запись занимает нужную позицию. В дальнейшем благодаря этому диапазон просмотра сокращается.
    1. Сначала верхняя граница устанавливается  равной размеру массива.
    2. Для всех записей, расположенных  ниже верхней границы, производится  сравнение ключа с ключом следующей записи. При неверном порядке производится обмен записей.
    3. Новая верхняя граница устанавливается  равной последней записи, для  которой был произведен обмен.
    4. Если обменов не было вообще, алгоритм заканчивает работу.
    Сортировка  перемешиванием
    Представляет  собой разновидность пузырьковой  сортировки. Отличается тем, что просмотры  элементов выполняются один за другим в противоположных направлениях, при этом большие элементы стремятся  к концу массива, а маленькие  к началу.
    Сортировка  вставками
    Другие методы сортировки производят реальное переупорядочивание набора записей. Сортировка вставками основывается на описанной далее идее.
    1. Начнем формировать новый отсортированный  массив.
    2. После того как в него помещено  i записей, размещаем очередную запись (с номером i+1) в то место, где она должна располагаться, чтобы не нарушить порядок последовательности.
    3. Когда все записи перенесены  в новый массив, данные располагаются  в отсортированном порядке.
    Простейший  метод сортировки вставками состоит  в простых вставках, когда элементы уже отсортированного массива перебираются последовательно. Данную сортировку можно реализовать и без дополнительного массива, если сортировать массив сразу при считывании, то есть осуществлять вставку нового элемента в массив.
      Этот один из наипростейших  методов сортировки, хотя он и  слишком медленный для практического  применения. Для полноты стоит  заметить, что существуют более  быстрые варианты сортировки  вставками.
    Блочная сортировка
    Наиболее  известным методом блочной сортировки является метод Шелла.
    Идея  алгоритма состоит в обмене элементов, расположенных не только рядом, как  в сортировке методом вставок, но и далеко друг от друга, что значительно  сокращает общее число операций перемещения элементов. Другими словами, в начале устраняется массовый беспорядок в массиве, интервал между сравниваемыми элементами постепенно уменьшается до единицы. Это означает, что на поздних стадиях сортировка сводится просто к перестановкам соседних элементов (если, конечно, такие перестановки являются необходимыми).
    Для примера возьмем файл из 16 элементов. Сначала просматриваются пары с  шагом 8. Это пары элементов 1-9, 2-10, 3-11, 4-12, 5-13, 6-14, 7-15, 8-16. Если значения элементов  в паре не упорядочены по возрастанию, то элементы меняются местами. Назовем этот этап 8-сортировкой. Следующий этап — 4-сортировка, на котором элементы в файле делятся на четверки: 1-5-9-13, 2-6-10-14, 3-7-11-15, 4-8-12-16. Выполняется сортировка в каждой четверке.
    Следующий этап — 2-сортировка, когда элементы в файле делятся на 2 группы по 8: 1-3-5-7-9-11-13-15 и 2-4-6-8-10-12-14-16. Выполняется сортировка в каждой восьмерке. Наконец весь файл упорядочивается методом вставок. Поскольку дальние элементы уже переместились на свое место или находятся вблизи от него, этот этап будет значительно менее трудоемким, чем при сортировке вставками без предварительных «дальних» обменов. [5, стр. 202-213]
    Сортировка  слиянием
    Эта сортировка использует следующую подзадачу: есть два отсортированных массива, нужно сделать (слить) из них один отсортированный. Алгоритм сортировки работает по такому принципу: разбить массив на две части, отсортировать каждую из них, а потом слить обе части в одну отсортированную. Время работы сортировки слиянием намного меньше, чем у пузырьковой сортировки. [6]
    Пирамидальная сортировка
    Этот  метод является значительно более  сложным, но при этом и более быстрым (особенно на больших массивах информации) алгоритмом. Здесь используется промежуточное  преобразование данных к специальному представлению, которое позволяет производить дальнейшую сортировку быстрее. В результате, общее число сравнений и обменов записей местами существенно уменьшается, что особенно важно в случае больших массивов данных.
    После первого этапа работы алгоритма  массив данных преобразуется таким образом, что максимальный элемент (временно) размещается в самой первой записи и для всех элементов верны неравенства: a (j) > a (2*j) и a (j) > a (2*j+1), если соответствующие элементы все еще лежат внутри массива. Пари этом a – элемент массива; j – его порядковый номер. Последующие этапы работы алгоритма приводят к тому, что максимальный в данный момент элемент отправляется на правильное место в отсортированном массиве, а для всех остальных элементов сохраняются такие же неравенства. [5, стр. 214-215]
    Сортировка  пирамидой использует сортирующее  дерево. Сортирующее дерево – это  такое двоичное дерево, у которого выполнены условия:
    Каждый лист имеет определенную глубину;
    Значение в любой вершине больше, чем значения ее потомков.
    И первоначальное преобразование, и последующий этап работы требует относительно небольшого числа операций, так что на больших массивах получается значительный выигрыш. Особенность этого алгоритма состоит в том, что он хорошо работает при любом начальном порядке данных в массиве, в то время как некоторые более быстрые (в среднем) методы могут очень неудачно обрабатывать определенные, специально подобранные наборы данных. [8]
    Линейная  сортировка (сортировка отбором)
    Идея  линейной сортировки по невозрастанию  заключается в том, что
последовательно просматривая весь массив, отыскать наибольшее число и поместить его с  элементом, который ранее занимал  первую позицию. Затем просматриваются  все остальные элементы массива, и выполняется аналогичная операция по отбору из рассматриваемой части массива максимального элемента и первого в рассматриваемой части и т.д.
    Метод быстрой сортировки с разделением
    Значительно эффективнее работает алгоритм сортировки К. Хора, который также называют сортировкой  с разделением или «быстрой сортировкой». В основу алгоритма положен метод последовательного дробления массива на части. Для начала, определяется элемент, стоящий в середине массива, после чего массив делится на две части. При просмотре левой части массива слева направо выполняется поиск такого элемента массива, что M[I] > X, затем при просмотре правой части справа налево отыскивается такой элемент, что M[I] < X (при этом: М – имя массива; I – номер элемента в массиве; X – элемент, оказавшийся в середине массива). Выполняется обмен местами данных элементов, пока все элементы слева от середины, удовлетворяющие условию M[I] > X, не будут обменены с элементами, расположенными справа от середины и удовлетворяющими условию M[I] < X . В результате этого получается массив из двух частей. Далее левая часть в свою очередь дробится на две части и сортируется описанным выше способом. Этот процесс происходит до тех пор, пока в каждой из частей не останется по одному элементу. Затем аналогично сортируется правая часть первоначального массива.
    Алгоритм  быстрой сортировки дает лучшие результаты, чем пузырьковый метод, однако следует учесть, что в некоторых случаях это преимущество снижается. Например, если применить эту сортировку к массиву, содержащему несколько одинаковых элементов. [4, стр.195-197; 199-201]
 

    II. ПРАКТИЧЕСКАЯ ЧАСТЬ
    Вариант 7
    Фирма ООО «Стройдизайн» осуществляет деятельность, связанную с выполнением  работ по ремонту помещений. Прайс-лист на выполняемые работы приведен на рис. 1. Данные о заказанных работах  указаны на рис.2.
    Построить таблицы по приведенным ниже данным.
    Выполнить расчет стоимости выполняемых работ по полученному заказу, данные расчета занести в таблицу (рис. 2).
    Организовать межтабличные связи для автоматического формирования счета, выставляемого клиенту для оплаты выполняемых работ.
    Сформировать и заполнить счет на оплату (рис. 3).
    Результаты расчета стоимости каждого вида работ по полученному заказу представить в графическом виде. [1, стр. 30-31]
 
Прайс-лист
Наименование работы
Единица измерения Цена  за ед. изм., руб.
Замена батарей шт. 250
Замена  ванны шт. 210
Замена  труб м 240
Наклейка  обоев м? 50
Настилка  паркета м? 75
Побелка потолка м? 15
 
    Рис. 1. Прайс-лист на выполняемые работы 
 

Расчет  стоимости выполняемых  работ
Наименование  работы Единица измерения Объем выполняемых работ Цена  за ед. изм., руб.
Стоимость работ, руб.
Замена  батарей шт. 4 250   
Наклейка  обоев м? 20 50  
Замена  труб м 4 240  
Настилка  паркета м? 15 75  
    Рис. 2. Данные о поступившем заказе 
 

               
  ООО "Стройдизайн"
  Счет № 1  
               
  Дата __.__.20__      
  ФИО клиента ______________________    
               
  № п/п Наименование  работы Единица измерения Объем выполняемых работ Цена  за ед. изм., руб. Стоимость работ, руб.  
  1 Замена батарей шт.        
  2 Наклейка обоев м?        
  3 Замена труб м        
  4 Настил паркета м?        
  ИТОГО:    
  НДС:    
  СУММА С НДС:    
           Гл. бухгалтер    ________________________
               
     
               
 
    Рис. 3. Форма счета на оплату выполненных работ 

    Решение:
    1. Запустим табличный процессор  MS Excel. Для этого выполним команду  Пуск / Программы / Microsoft Office / Microsoft Office Excel.
    2. Создадим на рабочем столе  книгу с именем «Стройдизайн».  Для этого выполним команду  Файл / Создать / Чистая книга. Далее выполним Файл / Сохранить как. В окне «Сохранение файла» выберем папку «Рабочий стол», а в поле «Имя файла» введем название «Стройдизайн».
    3. Лист 1 переименуем в лист с  названием «Услуги». Для этого  дважды  щелкнем мышью по ярлыку  Листа 1 и наберем имя «Услуги».
    4. На рабочем листе «Услуги»  MS Excel создадим таблицу базового прайс-листа.
    5. Заполним таблицу базового прайс-листа  исходными данными (рис. 4).
    5.1. На первой строке для ячеек  А, В и С выполним объединение.  Для 
этого, выделив  интересующий нас диапазон, на панели инструментов
нажмем на кнопку «Объединить и поместить в  центре» 
    5.2. Для расширения ширины столбцов  в диапазоне ячеек А2:С2, наведем  курсор на правую границу столбца  А (далее и других столбцов  поочередно), так чтобы курсор  превратился в черный крестик со стрелками. Далее щелкнув один раз левой кнопкой мыши, и удерживая ее в этом положении, «потянем» границу вправо до нужного нам размера. Для расширения строки выполняются те же действия, что и для столбца, а курсор необходимо будет подвести к нижней границе строки 2.
    5.3. Выделим диапазон А2:С2, и щелкнув  нем правой кнопкой мыши выберем  меню «Формат ячеек». В нем  на вкладке «Число» выберем  текстовый формат, на вкладке  «Выравнивание» установим значение  «по центру», и выберем в  пункте отображения – «Переносить по словам».
    5.4. Следует заметить, что в графе  «Единица измерения» присутствует  значение «м?». Для указания степени  «?» следует установить курсор  за «м» и выполнить действия  Вставка / Символ . В поле «Набор»  выберем «Латиница-1», найдем интересующий нас символ, выберем его и нажмем ОК.
    5.5. В заключении, подкорректируем ширину  строки 2 и столбцов А, В и  С, для диапазона ячеек В3:В8  и С3:С8 установим выравнивание  «по центру», а для А3:А8 –  «по левому краю» (порядок действий  представлен в пунктах 5.2 и 5.3.).  
      

    Рис. 4. Расположение таблицы «Базовый прайс-лист» на рабочем листе «Услуги» MS Excel
    6. Лист 2 переименуем в лист с  названием «Расчет стоимости» (порядок  действий представлен в пункте 3.).
    7. На рабочем листе «Расчет стоимости» создадим таблицу, в которой будет содержаться данные о поступившем заказе.
    8. Заполним таблицу данными о  поступившем заказе (рис. 5).
    8.1. Заполним таблицу исходными данными  о заказе по графам «Наименование  работы», «Единица измерения», «Объем выполняемых работ».
    8.2. Для заполнения графы «Цена  за единицу измерения, руб.»  используем исходные данные базового  прайс-листа. Заполним соответственно  наименованию работы ее цену  за единицу измерения в рублях.
    8.3. Для расчета стоимости работ вычислим произведение объема  работ на цену за единицу измерения.
    8.3.1. Установим курсор на ячейке  Е3 и выполним действия: Вставка  / Функция. В окне «Мастер функций  - шаг 1 из 2» выберем в категории  «Полный алфавитный перечень»  функцию ПРОИЗВЕД, и кнопкой ОК откроем следующее окно под названием «Аргументы функции». В нем в поле «Число 1» выберем ячейку С3, а в поле «Число 2» - ячейку D3. После нажатия кнопки ОК в ячейке Е3 будет рассчитана стоимость работ по замене батарей.
    8.3.2. Для расчета стоимости работ по наклейке обоев, замене труб и настилке паркета копируем формулу, введенную в ячейке Е3. Для этого поднесем указатель мыши в правый нижний угол ячейки Е3. Когда указатель примет вид черного крестика, нажав левую кнопку мыши, выделим ячейки Е4, Е5, Е6. В результате будет рассчитана стоимость каждого из видов работ.  
и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.