Учебный курс "Введение в методы программирования"
Лабораторный практикум
Лабораторная работа 1: Упорядочивание (сортировка) массивов
1. Постановка учебно-практической задачи
Выполнение лабораторной работы направлено на освоение основных приемов
использования массивов, методов доступа к элементам массивов, их реорганизации и
модификации. В качестве практической проблемы, требующей решения, рассматривается
известная задача сортировки (упорядочивания) массива в порядке возрастания (убывания)
его элементов. При решении этой задачи требуется исходный массив, содержащий
произвольные целые числа, преобразовать к виду, когда каждый элемент массива
находится перед другим элементом этого массива, если его значение меньше (больше),
чем значение сравниваемого элемента. В данной лабораторной работе необходимо изучить ряд известных алгоритмов
сортировки и создать комплекс программ, реализующий
• линейный поиск элемента в массиве;
• метод двоичного поиска элемента в упорядоченном массиве;
• метод сортировки выбором;
• метод сортировки пузырьком;
• метод сортировки включением;
• метод быстрой сортировки +) . Разрабатываемый программный комплекс должен обеспечивать
• вывод на экран меню;
• ввод исходной информации;
• формирования массивов с большим числом элементов;
• выбор метода сортировки;
• сортировку массива;
• печать результата;
• замеры времени выполнения сортировок массива. Демонстрация работоспособности разработанных программных средств должна
обеспечивать два варианта контроля: контроль работоспособности каждого из методов и
контроль временных характеристик всех реализованных методов.
2. Учебно-методические цели работы
Данная задача представляет собой упрощенный учебно-ознакомительный вариант
широко распространенной задачи сортировки, которая применяется в широком классе
реальных задач, и умение и знание алгоритмов сортировки и их особенностей является
необходимой частью образования специалиста по программному обеспечению. Наряду с
ознакомлением с проблемой упорядочивания массивов и методами ее решения,
выполнение работы направлено на достижение следующих учебно-методических целей:
• приобретение навыков и приемов использования массивов, доступа к их элементам
и преобразований массивов;
• практическое освоение принципов модульного программирования (использование
процедур и функций);
+)
Задача повышенной сложности, рассматривается как тема дополнительного задания
• освоение и изучение встроенных функций языка Zonnon и модуля System
(применение генератора псевдослучайных чисел и замеры датчиков времени);
• получения навыков сравнительного анализа эффективности разных алгоритмов.
3. Рекомендации по выполнению работы
Программа должна обеспечить сортировку массивов размером произвольной длины
до 10000 элементов и выводить для контроля:
- при небольшом количестве элементов (например, менее 20) - неупорядоченный
массив и массив после сортировки для каждого из предложенных алгоритмов;
- при значительном объеме данных (более 20) выводить время сортировки одного и
того же массива для всех четырех предложенных алгоритмов.