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

  • отчет

  • Лабораторная работа №2. Задание №1

  • Лабораторная работа № 2. Изучение и программирование стандартного алгоритма шейкерной сортировки


    Скачать 126.61 Kb.
    НазваниеИзучение и программирование стандартного алгоритма шейкерной сортировки
    Дата13.06.2021
    Размер126.61 Kb.
    Формат файлаdocx
    Имя файлаЛабораторная работа № 2.docx
    ТипЛабораторная работа
    #217068

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

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

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

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

    Кафедра Электронных приборов и устройств


    отчет

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

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

    Тема: Изучение и программирование стандартного алгоритма шейкерной сортировки


    Студент гр. 0283




    Лазорский Г. А.

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




    Костик Н. Р.


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

    2021

    Лабораторная работа №2.

    Задание №1:Изучение и программирование стандартного алгоритма шейкерной сортировки

    С
    оставить код в среде MATLAB на основе блок-схемы алгоритма с произвольным набором данных.

    clear all

    close all

    clc
    n = input('Укажите количество элементов массива: ');
    A = zeros(1, n);
    for i = 1 : n

    A(i) = input('Укажите значение ячеек: ');

    end
    disp('Исходный массив:')

    disp(A)
    left = 1;

    right = n;

    while left < right

    for j = left: (right - 1)

    if (A(j) > A(j + 1))

    tmp = A(j);

    A(j) = A(j + 1);

    A(j + 1) = tmp;

    end

    end

    right = right - 1;

    for j = right: -1: (left + 1)

    if (A(j) < A(j - 1))

    tmp = A(j);

    A(j) = A(j - 1);

    A(j - 1) = tmp;

    end

    disp('Сортировка'); disp(A)
    end

    left = left + 1;

    end
    fprintf('\nОтсортированный массив A:\n');

    disp('Преобразованный массив:')

    disp(A)
    for i = 1: n

    fprintf('[%d] ', A(i));

    end
    fprintf('\n\n');

    Блок-схема для выполнения алгоритма «шейкерная сортировка»
    Задание №2 Изучение и программирование алгоритма «Сортировка расческой»
    Изучение и программирование алгоритма сортировки алгоритма «Сортировка расческой»
    Блок-схема для выполнения алгоритма «Сортировка расческой»



    n = input('Укажите количество элементов массива: ');
    A = zeros(1, n);
    for i = 1: n

    fprintf('Введите значение A[%d] элемента масива', i);

    A(i) = input(': ');

    end
    fact = 1.2473309;

    step = n - 1;

    while step > 1

    i = 1;

    while i + step <= n

    if (A(i) > A(i + step))

    tmp = A(i);

    A(i) = A(i + step);

    A(i + step) = tmp;

    end

    i = i + 1;

    end

    step = fix(step / fact);

    end
    i = 1;

    swapped = 1;

    while swapped && i < n

    swapped = 0;

    for j = 1: n - 1

    if (A(j) > A(j + 1))

    tmp = A(j);

    A(j) = A(j + 1);

    A(j + 1) = tmp;

    swapped = 1;

    end

    disp('Сортировка'); disp(A)

    end

    i = i + 1;

    end
    fprintf('\nОтсортированный массив A:\n');

    for i = 1: n

    fprintf('[%d] ', A(i));

    end
    fprintf('\n\n');


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