
прога отчет3
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Государственное автономное образовательное учреждение высшего образования
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра ИЯТШ
Отчет по
лабораторной работе №3
Разработка программы сортировки элементов массива.
Выполнила студентка группы 0А23
Шевченко А.В.
Проверил преподаватель
Дериглазов А.А.
Томск 2022 г.
Оглавление
Цель работы 3
Задание 4
Теоретическая часть 5
Описание решения алгоритма задачи 6
Вывод 8
Цель работы
Изучить некоторые алгоритмы сортировки данных, научиться применять их и реализовывать на алгоритмическом языке Си с использованием операторов цикла при решении конкретных задач.
Задание
Получить номер варианта задания у преподавателя, ведущего лабораторные занятия.
Ознакомиться с заданием к лабораторной работе (файл Задания.doc).
Ознакомиться с учебно-методическими указаниями к лабораторной работе (файл Лаб_3.doc).
Составить алгоритм решения задачи согласно своему варианту.
Составить блок-схему алгоритма программы.
Набрать текст программы на языке Си с помощью текстового редактора.
Провести трансляцию и компоновку программы.
Решить контрольный пример.
Составить отчет по лабораторной работе в соответствии с правилами оформления отчета (файл Общие_указания_к_лабораторным_работам.doc).
Вариант 19
Дан целый массив максимальной размерности 200. Провести сортировку по убыванию положительных чисел и по возрастанию отрицательных чисел. (Примечание: 0 считать положительным числом) Ввод исходного массива организовать из файла, при вводе учесть возможность ввода массива меньшей размерности.
Результаты работы программы вывести на экран и в файл.
Теоретическая часть
Сортировка данных- упорядочить их определенным образом.
Метод пузырька-идея этого метода отражена в названии. Самые легкие элементы массива “всплывают” наверх, самые “тяжелые” – тонут.
Алгоритмически это можно реализовать следующим образом: будем просматривать весь массив “снизу-вверх” (от первого элемента к последнему) и менять стоящие рядом элементы в том случае, если “нижний” элемент меньше, чем “верхний”. Таким образом, мы вытолкнем наверх самый “легкий” элемент всего массива. Теперь повторим всю операцию для оставшихся неотсортированными первых N-1 элементов
Сортировка выбором-Смысл данного алгоритма сводится к следующему:
Задаем номер места К в последовательности, на которое нужно будет поместить очередной упорядочиваемый элемент.
Находим в неупорядоченной части последовательности элемент с самым большим (или самым маленьким) значением, запоминая его номер.
Меняем его местами с тем, который находится на К-ом месте.
Все указанные операции повторяются до тех пор, пока не упорядочим всю последовательность.
Сортировка методом Шелла-Основная идея сортировки по Шеллу заключается в том, что сначала сравниваются удаленные друг от друга элементы, а не смежные, как в методе «пузырька». Это приводит к быстрому устранению большей части неупорядоченности и сокращает последующую работу. Интервал между элементами постепенно сокращается до единицы, когда сортировка фактически превращается в метод перестановки соседних элементов.
Описание решения алгоритма задачи
Сначала добавлены заголовочные файлы, для работы с программой.
Создан текстовый файл, из которого выводились значения.
Затем задана размерность массива.
Написан цикл сортирующий массив при помощи Метода Пузырька, в который было добавлено условие для проверки значение элемента массива на положительные и отрицательные.
Отсортированный массив был выведен в файл и в консоль.
Полный код программы представлен на рисунках 1 и 2.
Рисунок - 1
Рисунок 2
Результат выполнения программы в консоле представлен на рисунке 3
Рисунок 3
Вывод
В ходе работы я были изучены некоторые алгоритмы сортировки данных, приобретены навыки применять их и реализовывать на алгоритмическом языке Си с использованием операторов цикла при решении конкретных задач. В частности, был использован метод Пузырька.