Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лб1_алгоритмы_14сент2015____9гр.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
6 Мб
Скачать
☆

Типы алгоритмов

Все алгоритмы традиционно можно разделить на три основных типа.

1. Линейный алгоритм предполагает естественный порядок выполнения (следования) блоков ввода, процесса и вывода.

В качестве примера рассмотрим решение следующей задачи.

Задача 1.1. Разработать схему алгоритма для вычисления площади треугольника по формуле Герона:

S=(p·(p – a)(p – b)(p – c))½,

где p – полупериметр треугольника. Длины сторон треугольника a, b, c следует вводить с клавиатуры.

На рис. 1.3 приведена схема линейного алгоритма для решения задачи.

Группа 212

Рис. 1.3

2. Разветвляющийся алгоритм задает выполнение вычислений по одному из возможных направлений в зависимости от исходных данных или промежуточных результатов. Ветвление в таких алгоритмах производится при проверке некоторых условий. Для этой цели в языках программирования используется специальный блок «Решение» (условие). Схемы алгоритма его работы приведены на рис. 1.4.

Прямая соединительная линия 195 Группа 196

Группа 179

Рис. 1.4

В качестве примера рассмотрим решение следующей задачи.

Задача 1.2. На плоскости с центром в начале координат проведена окружность радиусом R. Пользователь вводит координаты (X, Y) некоторой точки. Вывести на дисплей ответ: находится эта точка внутри (в том числе и на границе) круга или вне его.

На рис. 1.5 приведена схема разветвляющегося алгоритма для решения задачи.

Группа 139

Рис. 1.5

3. Циклический алгоритм содержит многократно повторяющиеся участки. Повторение группы операторов обеспечивается с помощью специальной управляющей конструкции, называемой циклом. Количество повторений цикла определяется значением некоторой управляющей переменной – параметра цикла.

Схема циклического участка алгоритма может быть представлена в виде, показанном на рис. 1.6 (условие выполнения проверяется в начале цикла) или на рис. 1.7 (условие выполнения проверяется в конце цикла).

Группа 125

Рис. 1.6

Прямая соединительная линия 123

Прямая соединительная линия 121 Прямая соединительная линия 122

Операторы

Прямая соединительная линия 119

Полилиния 118

Да

Нет

Условие

вып.

Прямая соединительная линия 112 Прямая соединительная линия 113 Прямая соединительная линия 114

Рис. 1.7

В качестве примера рассмотрим решение следующей задачи.

Задача 1.3. Вычислить значение функции Y=Sin(X) для аргумента, изменяющегося в некотором диапазоне Xn ≤ X ≤ Xk.

Границы диапазона (начальное значение Xn, конечное значение Xk) и шаг его прохождения (h) вводить с клавиатуры. Выводить на экран соответствующие значения аргумента и функции. На рис. 1.8 приведена схема алгоритма.

Блок-схема: знак завершения 109

Начало

Прямая соединительная линия 108

Блок-схема: дисплей 107

Сообщение

о вводе

Xn, Xk, h

Блок-схема: данные 104

Xn, Xk, h

Прямая соединительная линия 102

Блок-схема: процесс 101

X= Xn

Прямая соединительная линия 99

Полилиния 95 Прямая соединительная линия 96 Прямая соединительная линия 97

Нет

Прямая соединительная линия 92 Прямая соединительная линия 93

X≤Xk

Да

Y = Sin(X)

Блок-схема: документ 85

X, Y

X = X+h

Прямая соединительная линия 78 Прямая со стрелкой 79 Прямая со стрелкой 80

Блок-схема: знак завершения 76

Конец

Рис. 1.8