- •Содержание отчета
- •Оценивание работы студента
- •1. Проектирование, написание и отладка программ, содержащих структуру выбора
- •1.1. Цель работы
- •1.2. Методические указания по подготовке к лабораторной работе
- •1.3. Контрольные вопросы
- •1.4. Содержание отчета
- •1.5. Варианты индивидуальных заданий
- •2. Программная реализация циклических вычислительных процессов
- •2.1. Цель работы
- •2.2. Методические указания по подготовке к лабораторной работе
- •2.3. Контрольные вопросы
- •2.4. Содержание отчета
- •2.5. Варианты индивидуальных заданий на оценку «хорошо»
- •2.6. Варианты индивидуальных заданий на оценку «отлично»
- •3. Обработка массивов
- •3.1. Цель работы
- •3.2. Методические указания по подготовке к лабораторной работе
- •3.3. Контрольные вопросы
- •3.4. Содержание отчета
- •3.5. Варианты индивидуальных заданий
- •4.4. Содержание отчета
- •4.5. Варианты индивидуальных заданий
- •5. Сортировка массивов
- •5.1. Цель работы
- •5.2. Методические указания по подготовке к лабораторной работе
- •5.3. Контрольные вопросы
- •5.4. Содержание отчета
- •5.5. Варианты индивидуальных заданий
5.3. Контрольные вопросы
Сформулируйте постановку задачи сортировки данных, перечислите практические задачи, в которых возникает необходимость сортировки;
Перечислите требования, предъявляемые к алгоритмам сортировки;
Укажите особенности реализации алгоритмов сортировки одномерных массивов данных;
Кратко опишите алгоритм пузырьковой сортировки, укажите его особенности, достоинства и недостатки;
Кратко опишите алгоритм сортировки вставкой, укажите его особенности, достоинства и недостатки;
Кратко опишите алгоритм блочной сортировки, укажите его особенности, достоинства и недостатки;
5.4. Содержание отчета
Отчет по работе должен содержать: номер работы, ее название, цель (с указанием используемых методов), краткое словесное описание всех пользовательских (внутренних и внешних) функций, текст программы, таблицу и график быстродействия, выводы по работе.
5.5. Варианты индивидуальных заданий
Изучить материал методических указаний к практическому занятию по данной теме. Повторить лекционный материал, связанный с массивами, функциями, передачей параметров в функции.
Написать программу, в которой реализуются различные методы сортировки (для одного и того же массива!).
Сравнить реализованные методы по быстродействию. Провести исследование быстродействия для различного числа элементов в массиве (n=100, 1000, 10000). Результаты исследования отразить в отчете в виде таблицы и графика зависимости (t/n) от n.
Для получения исходного (сортируемого) массива следует использовать генератор случайных чисел (функцию rand() из библиотеки <stdlib.h>).
Каждый из методов сортировки, а также генерацию массива, необходимо реализовать в виде отдельной функции. Глобальных переменных не использовать!
Для оценки быстродействия можно использовать функцию clock() из библиотеки <time.h>, возвращающую число тактов процессора, прошедшее с момента запуска приложения. Возвращаемые значения функции clock() следует присваивать переменной типа unsigned long.
Для получения оценки "отлично" необходимо реализовать все три метода сортировки, рассмотренных на практическом занятии, для оценки "хорошо" – любые два метода, для оценки "удовлетворительно" – один из методов. При этом исследование быстродействия на разных по объему массивах является обязательным.