Алгоритмические языки_ Лабораторная работа №3 -... Методические указания к лабораторной работе 3 по дисциплине Алгоритмические языки и программирование для студентов специальности 230100 (ивт)
Скачать 329 Kb.
|
Министерство образования и науки РФ Тверской государственный технический университет Кафедра электронных вычислительных машин Обработка одномерных массивов Методические указания к лабораторной работе № 3 по дисциплине «Алгоритмические языки и программирование» для студентов специальности 230100 (ИВТ) Тверь, 2011 Содержание 1. Цель работы 3 2. Указание к работе 3 3. Оформление отчета 3 4. Требования к работе 4 5. Теоретический материал 6 Инициализация массива случайными числами 6 Измерение времени работы программы 6 Сортировка пузырьком 7 Сортировка выбором 8 Сортировка вставками 9 Сортировка подсчетом 11 Сортировка слиянием 12 Линейный поиск в массиве 12 Двоичный поиск в массиве 12 7. Варианты индивидуальных заданий 14 27 1. Цель работыПриобретение и закрепление навыков работы с одномерными массивами. 2. Указание к работеА) Разработать и отладить программу, в которой реализовать алгоритмы сортировки и поиска в соответствии с заданием. Определить время работы программы. Для выполнения задания необходимо использовать два одномерных массива целых чисел А[M] и В[N]. Размеры М и N вводятся с клавиатуры. Инициализируйте исходные массивы случайными числами, после чего выведите их на экран. Далее отсортируйте массивы с использованием алгоритма, указанного в вашем задании, и снова выведите. Создайте массив С, который содержит элементы, отвечающие условию задания. Выбор необходимых элементов должен производится с помощью алгоритма поиска, указанного в вашем варианте. В массиве С элементы должны содержаться в одном экземпляре. Вспомогательные массивы использовать запрещается, если в алгоритме сортировки не оговорено обратное. Б) Сравните время работы программы при следующих размерах исходных массивов: 100, 1000, 5000, 10000, 15000 элементов. Циклы вывода элементов на экран рекомендуется закомментировать. 3. Оформление отчетаВ отчет включить: Тема и цель работы; Задание на выполнение (общая часть задания и конкретный вариант индивидуального задания); Алгоритм программы в виде псевдокода. Части алгоритма, выполняющие инициализацию, вывод, сортировку исходных массивов и поиск в них, целесообразно оформить в виде отдельных подалгоритмов; Текст программы с комментариями; Результаты выполнения программы (для всех заданных размеров исходных массивов): Для минимального количества элементов в исходных массивах (100 элементов) – с распечаткой содержимого всех трех массивов для контроля правильности работы алгоритма; Для прочих вариантов количества элементов (1000 и выше) – только данные о времени выполнения программы. Результаты сравнения времени выполнения программы при разных размерах массивов. Для наглядности целесообразно построить график изменения времени выполнения при различных размерах массивов. 4. Требования к работеПриведенное выше содержание отчета достаточно для выполнения задания всех уровней сложности. Для максимальных уровней сложности задания (9 и 10) описание используемого алгоритма сортировки в задании не приводится, его необходимо найти и реализовать самостоятельно. Требования по каждому критерию оценки: Точное выполнение полученного варианта задания. Включение в отчет всех материалов, указанных в приведенных выше требованиях к оформлению отчета. Не нужно включать в отчет пункты, специфичные для лабораторных работ 1 и 2. Обратить внимание на аккуратность оформления псевдокода. Следите за уровнями вложенности алгоритмических конструкций и отображайте их соответствующими отступами. Разбиение псевдокода на части (выделение подалгоритмов сортировки и поиска) позволяет уменьшить вложенность и избежать лишних ошибок. Качество алгоритма, время выполнения которого сильно зависит от размера исходных данных, зависит от наличия (или, наоборот, отсутствия) лишних операций, замедляющих его работу. Не помещайте действий, которые можно выполнить однократно, внутри циклов. Не забывайте, что разработанный алгоритм должен точно выполнять индивидуальное задание. Если возможны случаи, когда требуемый результат не может быть получен (а такие случаи возможны, особенно, если исходные данные имеют случайный характер), в алгоритме обязательно должна быть соответствующая проверка и выдача сообщения. Исходный текст программы должен точно соответствовать разработанному алгоритму. Если в алгоритме выделены подалгоритмы сортировки и поиска, то они могут быть реализованы в виде отдельных функций программы, что не является обязательным, но повышает ценность работы. Если при выполнении программы при каких-либо исходных данных могут возникнуть ситуации, приводящие к ошибке времени выполнения (например, к выходу индекса за пределы массива), необходимо это отслеживать. Отсутствие соответствующего контроля снижает надежность программы. Можно также добавить контроль корректного ввода размера массивов. Основными конструкциями, используемыми в данной программе, являются циклы. Обращайте внимание на соответствие используемых в алгоритме и в программе видов циклов (while, do-while и for). |