Главная страница
Навигация по странице:

  • ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

  • 1. Исходные данные - задается пользователем, в зависимости от выбранной задачи;2. Содержание пояснительной записки

  • Курсовая работа по дисциплине Компьютерные технологии Тема Упорядочивание элементов массива методом всплытия пузырька Выполнил студент


    Скачать 96.26 Kb.
    НазваниеКурсовая работа по дисциплине Компьютерные технологии Тема Упорядочивание элементов массива методом всплытия пузырька Выполнил студент
    Дата24.04.2022
    Размер96.26 Kb.
    Формат файлаdocx
    Имя файлаKursovaya (1).docx
    ТипКурсовая
    #493911

    Санкт-Петербургский политехнический университет Петра Великого

    Институт энергетики

    Высшая школа атомной и тепловой энергетики



    Курсовая работа

    по дисциплине «Компьютерные технологии»



    Тема «Упорядочивание элементов массива методом «всплытия пузырька»»


    Выполнил студент

    гр. 3231301/80001 М.Ю. Чирков

    Руководитель,

    старший преподаватель: А. В. Ившин

    Санкт-Петербург

    2019

    Санкт-Петербургский политехнический университет Петра Великого

    Институт энергетики и транспортных систем

    Кафедра «Атомная и тепловая энергетика»
    ЗАДАНИЕ

    НА КУРСОВУЮ РАБОТУ

    по дисциплине «Компьютерные технологии»
    студенту Чиркову Михаилу Юрьевичу

    Тема «Упорядочивание элементов массива методом «всплытия пузырька»»

    1. Исходные данные

    - задается пользователем, в зависимости от выбранной задачи;

    2. Содержание пояснительной записки

    - введение;

    - математическое и алгоритмическое описание методов решения задачи;

    - создание приложения (алгоритм работы приложения и обработки событий, результат работы приложения для тестового задания)

    - исследование и сравнение результатов;

    - заключение;

    - приложения (листинг программы)

    Руководитель:




    А.В. Ившин

    Задание принято к исполнению:




    М.Ю. Чирков


    Дата выдачи задания

    01.10.18





    Содержание



    Санкт-Петербургский политехнический университет Петра Великого 1

    Институт энергетики 1

    Высшая школа атомной и тепловой энергетики 1

    Курсовая работа 1

    по дисциплине «Компьютерные технологии» 1

    Тема «Упорядочивание элементов массива методом «всплытия пузырька»» 1

    Содержание 3

    Введение 4

    Реализация алгоритма сортировки методом «всплытия пузырька» 5

    1.Создание приложения 5

    2.Тестирование 5

    Заключение 7

    Список использованных источников 8

    Приложения 9


    Введение


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

    Существуют следующие методы сортировки элементов: сортировка вставками, сортировка перемещением, сортировка слиянием, сортировка с помощью двоичного дерева, сортировка «пузырька» и другие. Они предполагают последовательное сравнение пары элементов, результатом которого могут быть следующее варианты: первый элемент меньше или равен второму и второй элемент меньше первого. Если алгоритм совершает k сравнений, то всего возможно 2k вариантов комбинаций ответов на них. Количество перестановок из n элементов равняется n!. Используя формулу Стирлинга, получаем оптимальность О(nlog(n)). Для типичного алгоритма хорошее время выполнения — O(nlog(n)), плохое — O(n2), идеальное — O(n).

    С математической точки зрения, сортировку следует понимать, как процесс перегруппировки заданного множества объектов в некотором определённом порядке. Если существуют элементы a1, …, an, то сортировка есть перестановка этих элементов в массив ak1, …, akn, где при некоторой упорядочивающей функции f выполняются соотношение f(ak1) ≤ f(ak2) ≤ … ≤f(akn).

    Реализация алгоритма сортировки методом «всплытия пузырька»



    1. Создание приложения


    Алгоритм состоит из повторяющихся проходов по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются N-1 раз или до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — массив отсортирован. При каждом проходе алгоритма по внутреннему циклу, очередной наибольший элемент массива ставится на своё место в конце массива рядом с предыдущим «наибольшим элементом», а наименьший элемент перемещается на одну позицию к началу массива («всплывает» до нужной позиции, как пузырёк в воде — отсюда и название алгоритма) [2].

    В начале приложения создадим функцию my_bubble_sort(), которая на вход принимает следующие параметры: массив элементов и длину этого массива. В теле функции создаем вложенный цикл, внутри которого сравниваем два соседних элемента массива [1]. Если первый оказывается больше второго, то меняем их местами, иначе рассматриваем следующие элементы. Функция my_print_arr() выводит элементы в читабельном виде. На вход принимает следующие параметры: массив элементов и длину этого массива. В основном теле программы объявляем массив arr со значениями [10.0, 5.6, 7.9, 15.6, 16.9, 11.0, 13.0, 12.0, -1.5, 55.9]. Вычисляем и записываем длину массива в переменную lenght и вызываем функцию my_bubble_sort() с параметрами arr и length. После вызываем функцию my_print_arr() с параметрами arr и length для отображения отсортированного массива.

    Результатом работы программы для последовательности чисел 10.0, 5.6, 7.9, 15.6, 16.9, 11.0, 13.0, 12.0, -1.5, 55.9 будет -1.50 5.60 7.90 10.00 11.00 12.00 13.00 15.60 16.90 55.90.
    1. Тестирование


    В ходе исследования были получены следующие данные:

    Input: 0, 0, 0, 0, 0, 1, 1, 1, 1, 1

    Output: 0.00 0.00 0.00 0.00 0.00 1.00 1.00 1.00 1.00 1.00

    Input: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1

    Output: 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 10.00

    Input: 9, 1, 6, 2, 5, 3, 6, 4, 9, 6, 4, 8, 1, 1

    Output: 1.00 1.00 1.00 2.00 3.00 4.00 4.00 5.00 6.00 6.00 6.00 8.00 9.00 9.00

    Программа верно выполняет сортировку.

    Заключение


    В курсовой работе я рассмотрел методы решения задач сортировки элементов. Был изучен метод «всплытия пузырька». Результатом работы является реализация данного метода на языке С (см. Приложение 1).

    Список использованных источников


    1. А.В. Могилев, Л.В. Листрова. Методы программирования. Компьютерные вычисления. СПб.:БХВ-Петербург, 2008. 320с. Дата обращения: 04.12.2019 г.

    2. Сортировка пузырьком [Электронный ресурс]. https://ru.wikipedia.org/wiki/Сортировка_пузырьком Загл. с экрана. Яз. Рус. Дата обращения: 04.12.2019 г.

    Приложения


    Приложение 1 — код программы



    написать администратору сайта