Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 1-05-1 Основные типы алгоритмов.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
101.21 Кб
Скачать

Основные типы алгоритмов типы алгоритмов

В зависимости от особенностей своего построения ал­горитмы делятся на три основные группы:

  1. линейные;

  2. разветвляющиеся;

  3. циклические.

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

Линейные алгоритмы

Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно, т.е. линейный алгоритм выполняется в естественном порядке его написания и не содержит разветвлений и повторений.

Структура такого алгоритма показана на рисунке.

Рассмотрим составление схем линейных алгоритмов на конкретных примерах.

Пример.

Даны переменные А и В. Требуется обменять их значе­ния, т.е. переменная А должна получить значение В, а В — значение А.

Решение:

  1. Исходные данные: А, В. Вспомогательная перемен­ная DOP. Результат: А, В.

  2. Метод решения задачи: в ЭВМ каждая величина хранится в отдельном участке памяти (переменной). По­этому задача заключается в том, чтобы поменять местами содержимое двух ячеек.

Давайте решим следующую задачу: имеется два стака­на: в одном из них вода, в другом молоко. Требуется по­менять содержимое стаканов. Житейский опыт подска­зывает, что нам для решения данной проблемы потребу­ется еще один стакан. В него мы перельем воду из перво­го, затем в первый стакан (из второго) нальем молоко, а из вспомогательного стакана во второй нальем воду.

Аналогично решается и задача обмена значениями двух переменных. Введем в рассмотрение еще одну величину, например DOP (вспомогательный стакан). Решение задачи распадается на три этапа. Соответствующие им блоки и порядок их выполнения изображены на схеме алгоритма.

Мы получили запись алгоритма решения данной зада­чи с помощью блок-схемы. Рассмотрим теперь запись это­го алгоритма с помощью псевдокода.

Напомню, что псевдокоды — это интерпретация шагов алгоритма па обычном языке, которая описы­вает действие команды.

При записи алгоритма с использованием псевдокодов знаки арифметических операций будем обозначать так: +, -, /, *.

Знак := (двоеточие и равно) означает операцию при­своения выбранной переменной некоторого значения.

К инструкциям линейных алгоритмов относятся инст­рукции ввода-вывода информации и инструкция присва­ивания. На языке псевдокода эти инструкции обознача­ются следующим образом.

  • Инструкция ввода — Ввод (х, у, z)*.

*Здесь в скобках перечислены имена элементов, кото­рые надо ввести.

  • Инструкция вывода — Вывод (х, у).

  • Инструкция присваивания — х := 32*.

*Читается: «х присвоить значение 32».

Алгоритм Перемещение; {заголовок алгоритма)

Переменные А, В, Dop: целые числа; {описатель­ный блок}

Начало

Ввод (А,В);

Dop:=A;

А:=В;

B:=Dop;

Вывод(А,В);

Конец.

Проверим составленный алгоритм. Для этого нужно вы­полнить действия, предусмотренные в алгоритме в том по­рядке, в каком они записаны. Для того чтобы было легче контролировать значения переменных, исполняя алгоритм, будем составлять трассировочную (тестирующую) таблицу; такую таблицу также называют таблицей значений.

Пусть переменным А и В задаются значения 3 и 6 соот­ветственно. В итоге переменная А должна содержать 6, а В — 3. Проверим работу нашего алгоритма:

А

В

DOP

1

3

6

0

2

3

6

3

3

6

6

3

4

6

3

3

Результат работы алгоритма совпадает с ожидаемым. Значит, алгоритм составлен верно.