Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по информатике / Раздел05(Алгоритмизация и программирование).doc
Скачиваний:
124
Добавлен:
09.05.2015
Размер:
269.31 Кб
Скачать

Линейная алгоритмическая структура

Образуется последовательностью действий, следующих одно за другим:

Разветвляющаяся алгоритмическая структура

Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Разветвляющаяся структура существует в следующих вариантах:

  • ветвление (если-то-иначе);

  • множественный выбор.

Циклическая алгоритмическая структура

Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Структура цикл существует в следующих вариантах:

  • Цикл с предусловием. Проверка условия производится перед выполнением тела цикла. Если при первой проверке условие выхода выполняется, то само тело цикла не будет выполнено ни разу. Тело цикла выполняется до тех пор, пока не будет выполнено условие выхода из цикла.

  • Цикл с постусловием. Проверка условия выхода из цикла происходит после того, как тело цикла выполнено. Цикл всегда выполняется хотя бы один раз.

  • Цикл со счётчиком (с известным количеством повторений). Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.

Тема 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

кон

Данный алгоритм, как это видно из его описания, содержит в себе вложенный цикл (цикл со счетчиком – цикл «для» внутри цикла с предусловием – цикла «пока»).

Развёрнутая схема алгоритма (самостоятельно):

Схема с альтернативными обозначениями циклов (самостоятельно):