Добавил:
t.me мой будущий Dungeon Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
11.06.2025
Размер:
51.62 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра микро- и наноэлектроники.

отчет

по лабораторной работе

по дисциплине «Информационные технологии»

Тема: «Алгоритмы и программы решения задач комбинаторики»

Студент гр. 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, тестовые

результаты и листинги отсортированных векторов.

Ход работы:

  1. Реализация алгоритма сортировки по возрастанию

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); %Вывод переменной, отсчитывающей кол-во переменных

  1. Результат выполнения программы

S =

1

3

4

8

10

11

28

Кол-во перестановок:

14

  1. Тестовые результаты сортировки по возрастанию в Excel

  1. Реализация алгоритма сортировки по убыванию

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); %Вывод переменной отсчитывающей кол-во переменных

  1. Результаты выполнения программы

S =

28

11

10

8

4

3

1

Кол-во перестановок:

7

  1. Тестовые результаты сортировки по убыванию

Вывод: В ходе выполнения лабораторной работы были реализованы алгоритмы сортировки вставкой. Данные, полученные при работе программ сортировки по возрастанию и убыванию в Matlab, совпадают с данными, полученными при выполнении сортировки в Excel.

Соседние файлы в папке ЛР2