МИНОБРНАУКИ РОССИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА) Кафедра физической электроники и технологии
ОТЧЕТ по лабораторной работе №2
по дисциплине «Информационные технологии» Тема: Алгоритмы и программы решения задач комбинаторики
Студентка гр. 0207 |
|
Лиоско Е.П. |
Преподаватель |
|
|
Рябцев И.А. |
Санкт-Петербург
Цель работы.
Изучение и программирование стандартного алгоритма сортировки.
Блок-схема программы для сортировки вставкой по возрастанию.
Текст программы 1 (cортировка по возрастанию).
clc;
clear all; n=7;
m=0;
s=[10 8 3 28 11 4 1];
for i=1:(n-1)%пробег по всему массиву j=i;
while (j>0)&&(s(j+1)<s(j))% пока предыдущий элемент больше последующего и кол-во неотсортированных элементов > 0
P=s(j);
s(j)=s(j+1);
s(j+1)=P; j=j-1;
m=m+1;% количество перестановок
end
end disp(s); disp(m);
2
Текст программы 2 (cортировка по убыванию).
clc;
clear all; n=7;
m=0;
s=[10 8 3 28 11 4 1];
for i=1:(n-1)%пробег по всему массиву j=i;
while (j>0)&&(s(j+1)>s(j))% пока предыдущий элемент меньше последующего и кол-во неотсортированных элементов > 0
P=s(j);
s(j)=s(j+1);
s(j+1)=P; j=j-1;
m=m+1;% количество перестановок
end
end disp(s); disp(m);
Листинг 1 (cортировка по возрастанию).
14
Листинг 2 (cортировка по убыванию).
7
Вывод.
Были реализованы программы сортировки вставкой по возрастанию и по убыванию для n-вектора исходных данных в программе Matlab.
Полученные результаты полностью идентичны тестовым результатам в Excel. Число перестановок m в первом случае равно 14, а во втором – 7.
3