Типовые структуры алгоритмов.

Различают три типовые структуры алгоритмов: линейную; разветвленную; циклическую. Чаще всего алгоритмы решаемых задач состоят из отдельных частей, которые, в свою очередь, относятся к одной или другой типовой структуре.

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

Пример: Вычислить высоты треугольника со сторонами А, В, С по формулам:

; ;

, где: - полупериметр треугольника.

Рис. 2.1. Блок-схема алгоритма линейной структуры.

Разветвленная структура используется в том случае, когда в зависимости от значений промежуточного результата выбирается та или иная последовательность действий. То есть в зависимости от выполнения некоторого логического условия вычисление должно идти по одной или другой ветви программы. На блок-схеме условие записывается внутри ромба из которого выходят две стрелки, при выполнении условия путь к следующей команде указывает линия с надписью «Да»; если условие не выполняется, по путь к следующей команде указывает стрелка с надписью «Нет».

Пример: Вычислить значения функции , где: и - заданные параметры.

На первый взгляд можно составить линейную структуру. Но при равенстве знаменателя нулю функция не определена. Необходимо предусмотреть этот случай и в качестве результата в этом случае выдать информацию о том, что знаменатель функции равен нулю. Таким образом, в блок - схеме должно быть две ветви: 1 ветвь - знаменатель не равен нулю и можно вычислить и напечатать значение функции; 2 ветвь - знаменатель равен нулю и нужно выдать информацию о невозможности вычислить значение функции.

Рис. 2.2. Блок-схема алгоритма разветвленной структуры.

Циклическая (итеративная) структура – используется, если при решении задачи необходимо многократно производить какие-либо действия с различными исходными данными, то есть предусмотрено неоднократное выполнение одной и той же последовательности действий (тела цикла). Число повторений в циклических процессах или известно заранее, или зависит от какого-либо условия.

При организации циклов необходимо:

1) задать начальное значение параметра цикла - переменной, которая будет изменяться при каждом повторении цикла;

2) изменить значение параметра цикла при каждом повторении цикла на шаг изменения;

3) проверить условие окончания этих повторений по значению этого параметра и перейти в начало цикла, если повторения ещё не закончены.

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

В цикле с предуcловием (while) – проверка условия завершения осуществляется до выполнения тела цикла. В цикле с постусловием (repeat) - до проверки условия завершения выполняется тело цикла.

Пример: Вычислить при изменении от 0 до 3 с шагом 0,1.

С изменением параметра математическим способом и использованием блока сравнения блок–схема представлена на рис. 2.3 б) и в). Если в блок–схеме используется блок организации цикла, то эта блок – схема представлена на рис. 2.3 а).

 

 

а) б) в)

Рис. 2.3. Алгоритмы циклической структуры.