Типы хода выполнения
На рис. в подобной форме представлен алгоритм умножения. В этом алгоритме содержатся примеры трех существующих типов хода выполнения: последовательный, циклический и разветвленный. Этих трех типов достаточно для описания любых ситуаций, кроме тех, которые встречаются в одном специфическом классе алгоритмов, а именно в алгоритмах, включающих в себя так называемое параллельное выполнение. Об этом будет рассказано позже, а для начала рассмотрим три основных типа.
Последовательный ход соответствует такому типу выполнения, при котором шаги алгоритма реализуются в том порядке, в котором они написаны. Шаги 1 3 алгоритма умножения являются примером последовательного хода выполнения.
Циклический ход выполнения встречается тогда, когда выполнение некоторой группы шагов повторяется: шаги 1, 5, 6 являются примером такого типа ходе выполнения а всю группу шагов называют циклом. Этот цикл выполняется в общей сложности N раз, а на каждой итерации составляющие его шаги выполняются последовательно. Следует понимать, что в этом нет противоречия: считаем ли мы шаги, включенные в цикл, примером последовательного либо циклического хода выполнения, зависит от того, рассматриваем ли мы один проход цикла или же его полное завершение.
На шаге 3 этого алгоритма происходит так называемый переход (разветвление), который предусматривает наличие двух альтернативных путей выполнения алгоритма, причем какой конкретно путь алгоритма будет выбран, зависит от значений N и А.
Прежде чем рассмотреть переход в общем виде, стоит сравнить шаги 3 й 6, так как они имеют очень похожую форму и тем не менее соответствуют совершенно различным типам хода выполнения алгоритма. В обоих шагах содержится условное выполнение оператора перехода на шаге 3 условие чуть сложнее, чем на шаге 6, но в данном случае это различие не имеет значения. Существенное различие между этими шагами заключается в том, что с шага 6 можно перейти к шагу, предшествующему ему шагов, тогда как с шага 3 этого сделать нельзя. Поэтому при помощи шага 6Ч можно описывать цикл (в данном случае это и делается), а при помощи шага 3 — нельзя.
Отныне мы будем понимать под переходом такой шаг, который не задает цикла, а шаг, задающий цикл, будем рассматривать как часть задаваемого им цикла. Заметим, однако, что переход производится не обязательно вперед по последовательности шагов, можно переходить и назад, когда из-за существования других переходов такой переход не будет задавать цикла. Тем не менее схожесть шагов 3 и 6 показывает, что ход выполнения нельзя определить простым рассмотрением отдельных шагов, его можно проследить только по всему алгоритму в целом.
Преимущество представления алгоритма в виде диаграммы состоит в том, что (если в нем не очень много шагов) на четко начерченной диаграмме с первого взгляда видны все типы хода выполнения алгоритма. Отсюда сразу же возникает вопрос: а как же представлять алгоритмы, в которых много шагов? Ответ может показаться неожиданным — в алгоритмах не должно содержаться большого числа шагов, к такой вопрос не должен возникать

