Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Саратовский государственный технический университет»
Кафедра «Прикладные информационные технологии»
по дисциплине
«Технология программирования»
направления подготовки
«Информационные системы и технологии»
Саратов, 2012
Цель работы:
Получить необходимые знания об основных концепциях и алгоритмах в программировании, а также практические навыки их реализации на языке С. Курс предназначен для студентов технических специальностей ВУЗов.
Задание
Результатом выполнения контрольной работы является программная реализация на языке С двух лабораторных работ.
Лабораторная №1
Разработать программу на языке «Си», реализующую три различных алгоритма сортировки одномерного целочисленного массива.
Массив является динамическим, размерность указывается пользователем при запуске программы. Массив должен быть заполнен по выбору пользователя одним из трех вариантов:
Пользователь также должен иметь возможность многократно сортировать массив, любым из трех алгоритмов. Необходимо обеспечить равные условия для работы различных алгоритмов, т.е. все алгоритмы сортировки должны работать над одинаковым массивом (одинаковой исходной последовательностью чисел).
После работы алгоритма сортировки, на экран должна быть выведена суммарная информация о результатах его работы, содержащая время работы алгоритма, количество операций сравнения и количество операций присвоения.
Операции сравнения и присвоения должны быть реализованы в виде функций, функции единственны для всех алгоритмов сортировки.
Отчет по лабораторной работе должен включать:
Для сравнения эффективности работы различных сортировок на разных массивах в ходе выполнения лабораторной работы рекомендуется провести испытания разработанной программы для массивов на разное число элементов, например, 10, 100, 1000, 5000. Также должны быть приведены полученные результаты для массивов, заполненных каждым из предложенных вариантов - по возрастанию, по убыванию, случайным образом.
Полученные результаты должны быть представлены в виде таблицы, например:
Таблица сравнения алгоритмов сортировки на различное число элементов
На 10 элементов:
Алгоритм сортировки |
Способ заполнения массива |
Время работы алгоритма, мс |
Количество операций |
|
сравнения |
присвоения |
|||
Сортировка пузырьком |
По возрастанию |
|||
По убыванию |
||||
Случайным образом |
||||
Сортировка вставкой |
По возрастанию |
|||
По убыванию |
||||
Случайным образом |
||||
Сортировка выбором |
По возрастанию |
|||
По убыванию |
||||
Случайным образом |
Аналогично составляются таблицы на 100, 1000, 5000 элементов.
Для каждого из рассмотренных алгоритмов сортировок составляется блок-схема.
Вывод должен содержать рекомендации по использованию видов сортировок при определенных начальных условиях, т.е. студент должен дать рекомендации, при каких начальных условиях, использование какого типа сортировки предпочтительнее.
Лабораторная № 2
В данной лабораторной работе студентам предлагается создать динамическую однонаправленную списочную структуру на языке Си. Элементы структуры предназначены для хранения вещественных чисел.
Программа должна реализовывать следующие функции по работе со списком:
При запуске программы список пуст, пользователю предлагается меню, в котором отображается список допустимых операций по работе со списком. Пользователь может многократно вызывать предлагаемые функции, до тех пор пока не выберет в меню выход из программы.
Отчет по лабораторной работе должен включать:
Рекомендованная литература: