
IT ФЭЛ, кафедра МНЭ, 2 сем, Matlab / ЛР2 / Otchet_lab2
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра микро- и наноэлектроники.
отчет
по лабораторной работе
по дисциплине «Информационные технологии»
Тема: «Алгоритмы и программы решения задач комбинаторики»
Студент гр. 1282 |
|
БОГДАН |
Преподаватель |
|
Фирсов Д. Д. |
Санкт-Петербург
2022
Цель работы: Изучение и программирование стандартного алгоритма сортировки.
Задача: Задан алгоритм сортировки вставкой и вектор исходных данных S(n)
1. Реализовать алгоритм сортировки (по возрастанию) для n-вектора
исходных данных в программе Matlab;
2. Вставить комментарии к операторам программы;
3. Получить в Excel тестовые результаты сортировки по возрастанию;
4. Провести сортировку вектора исходных данных программой Matlab;
5. Определить число перестановок элементов вектора (M);
6. Сравнить полученные результаты с тестовыми;
7. Модифицировать программу Matlab на выполнение сортировки по
убыванию для n-вектора исходных данных;
8. Получить в Excel тестовые результаты сортировки по убыванию;
9. Провести сортировку вектора исходных данных модифицированной
программой Matlab;
10. Определить число перестановок элементов вектора (M);
11. Сравнить полученные результаты с тестовыми;
12. Оформить отчет, включив в него тексты программ Matlab, тестовые
результаты и листинги отсортированных векторов.
Ход работы:
Реализация алгоритма сортировки по возрастанию
M=0;
N=7;
S=[10; 8; 3; 28; 11; 4; 1];
for I=1:(N-1) %Перебор элементов вектора с первого до предпоследнего
J=I;
while J>0 && S(J+1)<S(J) %Задание условия работы алгоритма
P=S(J);
S(J)=S(J+1);
S(J+1)=P;
J=J-1; %Перестановка элементов вектора
M=M+1; %Обновление переменной, отсчитывающей кол-во переменных
end
end
disp('S =');
disp(S); %Вывод отсортированного вектора
disp('Кол-во перестановок');
disp(M); %Вывод переменной, отсчитывающей кол-во переменных
Результат выполнения программы
S =
1
3
4
8
10
11
28
Кол-во перестановок:
14
Тестовые результаты сортировки по возрастанию в Excel
Реализация алгоритма сортировки по убыванию
M=0;
N=7;
S=[10; 8; 3; 28; 11; 4; 1];
for I=1:(N-1) %Перебор элементов вектора с первого до предпоследнего
J=I;
while J>0 && S(J+1)>S(J) %Задание условия работы алгоритма
P=S(J);
S(J)=S(J+1);
S(J+1)=P;
J=J-1; %Перестановка элементов вектора
M=M+1; %Обновление переменной отсчитывающей кол-во переменных
end
end
disp('S =');
disp(S); %Вывод отсортированного вектора
disp('Кол-во перестановок');
disp(M); %Вывод переменной отсчитывающей кол-во переменных
Результаты выполнения программы
S =
28
11
10
8
4
3
1
Кол-во перестановок:
7
Тестовые результаты сортировки по убыванию
Вывод: В ходе выполнения лабораторной работы были реализованы алгоритмы сортировки вставкой. Данные, полученные при работе программ сортировки по возрастанию и убыванию в Matlab, совпадают с данными, полученными при выполнении сортировки в Excel.