Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Билет №41





Документирование программ в процессе разработки. Состав документации.

Документирование программы:

Правильно построенный процесс разработки программ позволяет получать документацию параллельно, так что к окончанию отладки получается почти вся необходимая документация.

Документация на разработанную программу включает следующие части:

1. Постановка задачи (спецификация задачи: В спецификации различают две существенно разные ее части: функциональную и эксплуатационную спецификацию.

Функциональная спецификация описывает объекты, участвующие в задаче, входные и выходные данные, связь между ними, реакции на аномалии, разбиение задачи на подзадачи.

Эксплуатационная спецификация содержит требования к скорости работы программы и используемым ресурсам памяти, характеристиками ЭВМ, на которой программа должна работать, специальные требования к надежности и безопасности программы.

Очевидно, чем сложнее и больше решаемая задача, тем труднее составить исчерпывающие спецификации. Возможно, что некоторые тре­бования придется уточнить после следующих этапов - проектирования и кодирования);

2. Проект алгоритма и структур данных (на псевдокоде);

3. Текст программы на языке программирования;

4. Отладочные тесты и результаты их работы (по мере тестирования заносятся в документацию);

5. Доказательство корректности (если оно является необходи­мой фазой отладки);

6. Руководство пользователю программы (на естественном языке). Составляется как правило самом в конце, как итог, основываясь на уже полученной документации.

_____________________________________________________________________________________

Билет №42

Классификация алгоритмов внутренней сортировки.

Сравнительная оценка методов сортировки.

Внутренняя сортировка - ориентирована на сортировку массивов. Разделение на сложные (модифицированные) и простые связано с оценкой эффективности алгоритмов по двум основным параметрам: число сравнений ключей элементов и число перестановок элементов. Для простых методов сортировки эти параметры имеют порядок в среднем n2, а для сложных (модифицированных) - n*logn, где n-количество сортируемых ключей:

 

1) Простые методы:

 

1. Метод простого обмена - проверяются пары ключей, и если они не упорядочены, то элементы взаимно меняются местами.

Простая обменная сортировка ("метод пузырька") для массива a[1], a[2],..., a[n] работает следующим образом. Начиная с конца массива сравниваются два соседних элемента (a[n] и a[n-1]). Если выполняется условие a[n-1] > a[n], то значения элементов меняются местами. Процесс продолжается для a[n-1] и a[n-2] и т.д., пока не будет произведено сравнение a[2] и a[1]. Понятно, что после этого на месте a[1] окажется элемент массива с наименьшим значением. На втором шаге процесс повторяется, но последними сравниваются a[3] и a[2]. И так далее. На последнем шаге будут сравниваться только текущие значения a[n] и a[n-1]. Понятна аналогия с пузырьком, поскольку наименьшие элементы (самые "легкие") постепенно "всплывают" к верхней границе массива.

Шейкер-сортировка — разновидность пузырьковой сортировки. Отличается тем, что просмотры элементов выполняются один за другим в противоположных направлениях, при этом большие элементы стремятся к концу массива, а маленькие — к началу.

 

2. Метод простого выбора - происходит выбор элементов в порядке возрастания ключей. Сначала выбирается элемент с наименьшим ключом, затем выбирается элемент с наименьшим ключом из оставшихся и т. д. до тех пор, пока в неотсортированной последовательности не останется ни одного элемента. В результате в отсортированной последовательности элементы распологаются в том порядке, в котором они были выбраны.

В этом методах массив также делится на уже отсортированную часть A[1],..., A[k-1] и не отсортированную A[k],..., A[n]. Из не отсортированной части на каждом шаге извлекается минимальный элемент. Он будет максимальным элементом отсортированной части, так как все меньшие его элементы извлечены на предыдущих шагах, поэтому извлеченный элемент ставится в конец отсортированной части.

В начальный момент при k = 1 отсортированная часть будет пустой.

 

3. Метод простого включения - элементы неотсортированной последовательности рассматриваются по очереди, и каждый вставляется на соответствующее ему место в отсортированной последовательности.

При сортировке исходный массив разбивается на две части:

A[1], A[2],..., A[k-1] - отсортированную часть

A[k],...,A[n] - не отсортированную часть.

На k - м шаге элемент A[k] включается в отсортированную часть, на соответствующее место. При этом часть элементов, больших A[k], (если таковые есть) сдвигаются на одну позицию правее, чтобы освободить место для элемента A[k]. Прежде чем производить сдвиг элементов необходимо сохранить значение A[k] во временной переменной B.

Так как массив из одного элемента можно считать отсортированным, алгоритм начинается с k=2.

 

2) Сложные методы:

 

1. Сортировка Шелла (включение).

Метод построен на основе метода вставки с минимизацией промежуточных шагов. Сначала выполняется сортировка элементов, отстоящих друг от друга на три позиции. После этого сортируются элементы, отстоящие друг от друга на две позиции. Наконец выполняется сортировка смежных элементов.

 

2. Сортировка с разделением (быстрая сортировка).

"Быстрая сортировка", хоть и была разработана более 40 лет назад, является наиболее широко применяемым и одним их самых эффективных алгоритмов.

Метод основан на подходе "разделяй-и-властвуй". Общая схема такова:

1. из массива выбирается некоторый опорный элемент a[i],

2. запускается процедура разделения массива, которая перемещает все ключи, меньшие, либо равные a[i], влево от него, а все ключи, большие, либо равные a[i] - вправо,

3. теперь массив состоит из двух подмножеств, причем левое меньше, либо равно правого,

4. для обоих подмассивов: если в подмассиве более двух элементов, рекурсивно запускаем для него ту же процедуру.

В конце получится полностью отсортированная последовательность.

 

3. Сортировка Флойда (с помощью дерева).

_____________________________________________________________________________________







Дата добавления: 2015-03-11; просмотров: 529. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Эндоскопическая диагностика язвенной болезни желудка, гастрита, опухоли Хронический гастрит - понятие клинико-анатомическое, характеризующееся определенными патоморфологическими изменениями слизистой оболочки желудка - неспецифическим воспалительным процессом...

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...

Психолого-педагогическая характеристика студенческой группы   Характеристика группы составляется по 407 группе очного отделения зооинженерного факультета, бакалавриата по направлению «Биология» РГАУ-МСХА имени К...

Общая и профессиональная культура педагога: сущность, специфика, взаимосвязь Педагогическая культура- часть общечеловеческих культуры, в которой запечатлил духовные и материальные ценности образования и воспитания, осуществляя образовательно-воспитательный процесс...

Studopedia.info - Студопедия - 2014-2025 год . (0.009 сек.) русская версия | украинская версия