Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_dlya_studentov_2_matematika.doc
Скачиваний:
56
Добавлен:
25.11.2018
Размер:
2.93 Mб
Скачать

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

Алгоритмизация выступает как набор определенных практических приёмов, особых специфических навыков рационального мышления в рамках заданных языковых средств. Алгоритмизация вычислений предполагает решение задачи в виде последовательности действий, т.е. решение, представленное в виде блок-схемы. Можно выделить типичные алгоритмы. К ним относятся:

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

  2. Разветвляющиеся алгоритмы;

  3. Циклические алгоритмы.

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

Линейный алгоритм является наиболее простым. В нем предполагается последовательное выполнение операций. В этом алгоритме не предусмотрены проверки условий или повторений, т.е. циклы.

Пример 1. Вычислить функцию z=x+y2. При выполнении линейного алгоритма значения переменных подставляются в заданную функцию, и вычисляется результат.

Линейный алгоритм может быть задан без словесного описания, только в виде перечисления операций. В примерах 2, 3 даётся последовательность выполнения арифметических операций.

Пример 2.

В результате работы линейного алгоритма:

k:=8;

m:=k+2;

n:=k+m;

k:=n - 2*k;

m:=k+n;

Найти значение переменной m.

В результате работы линейного алгоритма m=20.

Пример 3.

В результате работы линейного алгоритма:

z=88;

y=z -38;

z=y/2; y:=y/z;

Переменные y, z приняли значения: y=2, z=25.

2.3.2. Алгоритмы ветвлений

Разветвляющийся алгоритм предполагает проверку условий для выбора решения. Соответственно в алгоритме появятся две ветви для каждого условия.

Пример 4.

Найти максимальное значение из трёх различных целых чисел, введенных с клавиатуры.

Решение.

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

2.3.3. Циклические алгоритмы

Циклический алгоритм предусматривает повторение одной операции или нескольких операций в зависимости от условия задачи.

Пример 5.

В цикле вычислить значение одной и той же функции z= x*y при условии, что одна из переменных данной функции «x» меняется в каждом цикле на единицу, а другая переменная «у» не меняется и может быть любым целым числом. В результате выполнения цикла при начальных переменных равных единице можно получить таблицу умножения.

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

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

2.4. Блок-схемы линейных алгоритмов

В примере 1 алгоритм задаётся словесно, графически он даётся в виде схемы на рис.1.1 в примере 6, где не требуется описания алгоритма, так как он представляется наглядно.

Пример 6.

Рис. 1.1. Блок-схема линейного алгоритма примера 6

Блок 2 соответствует вводу данных. Блок 3 представляет арифметическое действие z=x+y2.

Блок 4 выводит результат. Блок 1 в схеме служит в качестве логического начала, а блок 5 –для завершения схемы.