Главная страница
Навигация по странице:

  • отчет

  • Цель работы

  • Код программы

  • Тестовые результаты

  • Лабораторная работа по ИТ 2 Матлаб. Отчет по лабораторной работе №2. Алгоритмы и программы решения задач


    Скачать 0.88 Mb.
    НазваниеАлгоритмы и программы решения задач
    АнкорЛабораторная работа по ИТ 2 Матлаб
    Дата17.04.2022
    Размер0.88 Mb.
    Формат файлаdocx
    Имя файлаОтчет по лабораторной работе №2.docx
    ТипОтчет
    #479496

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

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

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

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

    Кафедра радиотехнической электроники

    отчет

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

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

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

    комбинаторики


    Студентка гр. 1281




    Малевская А.Д.

    Преподаватель




    Платонов Р.А.



    Санкт-Петербург

    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, тестовые

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

    Блок-схема

    Сортировка по убыванию n-вектора исходных данных


    При сортировке по возрастанию изменяется знак больше на меньше в последнем условии Sj+1 < Sj


    Код программы

    Сортировка по убыванию n-вектора исходных данных
    % Сортировка по убыванию

    % S = [10 8 3 28 11 4 1];
    S = input ("Введите вектор S = "); % Ввод вектора

    N = length(S); % Длина вектора

    M=0; % Счетчик замен

    for i=1:(N-1) % Цикл по всему вектору

    j=i; % Номер элемента

    while j>0 && S(j+1)>S(j) % Если не выходим за границы массива и

    % следующий элемент меньше, то

    temp=S(j); % Замена двух элементов вектора

    S(j)=S(j+1);

    S(j+1)=temp;

    j=j-1; % Переходим к следующему элементу

    M=M+1; % Увеличиваем счетчик замен

    end

    end

    disp("Количество замен M = " + M)

    disp ("Отсортирванный по убыванию массив S") % Выводим вектор

    disp(S);
    Сортировка по возрастанию n-вектора исходных данных
    % Сортировка по возрастанию

    % S = [10 8 3 28 11 4 1];

    S = input ("Введите вектор S = "); % Ввод вектора

    N = length(S); % Длина вектора

    M=0; % Счетчик замен

    for i=1:(N-1) % Цикл по всему вектору

    j=i; % Номер элемента

    while j>0 && S(j+1)
    % следующий элемент меньше, то

    temp=S(j); % Замена двух элементов вектора

    S(j)=S(j+1);

    S(j+1)=temp;

    j=j-1; % Переходим к следующему элементу

    M=M+1; % Увеличиваем счетчик замен

    end

    end

    disp("Количество замен M = " + M)

    disp ("Отсортирванный по возрастанию вектор S") % Выводим вектор

    disp(S);
    Результаты

    Отсортированный по возрастанию вектор



    Отсортированный по убыванию вектор



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

    Тестовые результаты

    При проведении сортировки в программе Exel были получены следующие векторы



    Из этого следует, что программа работает верно

    Выводы

    В результате проведения данной лабораторной работы были написаны программы для сортировки по возрастанию и убыванию n-вектора исходных данных. Правильность результатов работы написанного кода были проверены в программе Exel.

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


    написать администратору сайта