
- •Раздел 5 Алгоритмизация и программирование Тема 5.1 Алгоритм и его свойства. Способы записи алгоритма
- •Свойства алгоритма
- •Формы представления алгоритма
- •Тема 5.2 Базовые алгоритмические структуры Общая характеристика структурного программирования
- •Линейная алгоритмическая структура
- •Разветвляющаяся алгоритмическая структура
- •Циклическая алгоритмическая структура
- •Тема 5.3 Типовые алгоритмы Алгоритм поиска минимума в массиве, состоящего из трёх элементов
- •Алгоритм циклического сдвига одномерного массива на один шаг вправо
- •Алгоритм сортировки по возрастанию одномерного массива
- •Тема 5.4 Рекурсивные алгоритмы Обращение к подпрограммам
- •Понятие рекурсии
- •Виды рекурсии
Линейная алгоритмическая структура
Образуется последовательностью действий, следующих одно за другим:
Разветвляющаяся алгоритмическая структура
Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Разветвляющаяся структура существует в следующих вариантах:
ветвление (если-то-иначе);
множественный выбор.
Циклическая алгоритмическая структура
Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Структура цикл существует в следующих вариантах:
Цикл с предусловием. Проверка условия производится перед выполнением тела цикла. Если при первой проверке условие выхода выполняется, то само тело цикла не будет выполнено ни разу. Тело цикла выполняется до тех пор, пока не будет выполнено условие выхода из цикла.
Цикл с постусловием. Проверка условия выхода из цикла происходит после того, как тело цикла выполнено. Цикл всегда выполняется хотя бы один раз.
Ц
икл со счётчиком (с известным количеством повторений). Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.
Тема 5.3 Типовые алгоритмы Алгоритм поиска минимума в массиве, состоящего из трёх элементов
Словесное описание …
Алгоритм циклического сдвига одномерного массива на один шаг вправо
Словесное описание …
Алгоритм сортировки по возрастанию одномерного массива
Сортировку массива осуществим с помощью метода «пузырька». Метод заключается в том, что попарно сравниваются элементы массива, начиная с первых двух. Если последующий элемент меньше предыдущего, то они меняются местами. После этого аналогично сравнивается третий элемент и больший из двух предыдущих, затем четвертый и больший из двух предыдущих и т.д. до конца массива. После этого вся описанная процедура повторяется заново для полученного на предыдущем этапе массива и т.д. до тех пор, пока больше не будет происходить перестановок элементов массива. Таким образом, максимальный элемент массива как будто бы «всплывает» как пузырек к концу массива, за ним – следующий по значению и т.д.
Псевдокод:
алгсорт (аргтабцелN,
аргтабвещX[1:N],резтабвещM[1:N])
нач цел
i, k
| вводN,X[1:N]
| M[1:N]:=X[1:N]
| k:=1
| нцпокаk=1
| | k:=0
| | нцдляiот 2 доN
| | | если
M[i-1]>M[i]
| | | | то b:=M[i]
| | | | M[i]:=M[i-1]
| | | | M[i-1]:=b
| | | | k:=1
| | | все
| | кц
| кц
| выводM
кон
Данный алгоритм, как это видно из его описания, содержит в себе вложенный цикл (цикл со счетчиком – цикл «для» внутри цикла с предусловием – цикла «пока»).
Развёрнутая схема алгоритма (самостоятельно):
Схема с альтернативными обозначениями циклов (самостоятельно):