Одним из типовых структур алгоритмов является разветвляющийся вычислительный процесс, в котором направление вычислений зависит от результата проверки некоторого условия. Направления, по которым может следовать вычислительный процесс, называют его ветвями. В программах разветвляющихся процессов необходимо нарушить естественный порядок выполнения операторов и обеспечить выполнение той последовательности операторов, которая соответствует выбранным условиям. В языке Паскаль это реализуется специальными операторами или операторными структурами, которые называются операторами перехода.
Схему алгоритма разветвленной структуры характеризует наличие блока "решение", который имеет два выхода, помеченные словами "да" и "нет". Этот блок также называется логическим блоком. В этом блоке осуществляется проверка выполнения некоторого логического условия. Если условие "истинно", вычислительный процесс идет по выходу "да", в противном случае - по выходу "нет".
Различаются три типа разветвляющихся алгоритмов, функциональные схемы которых приведены на рисунке 4.1.а), 4.1.б) и 4.1.в).
Ветвление, представленное на рис.4.1.а), называется обходом, так как оператор S, записанный в арифметическом блоке, не выполняется, если условие В ложно. При реализации вычислительного процесса арифметический блок будет обойден, и направление вычислений пойдет по ветви "нет".
Выбор из двух возможностей, или альтернатива, представлен на рис.4.1.б). Если проверяемое условие В будет истинным, выполнится оператор S1, в противном случае выполнится оператор S2. Отметим, что алгоритм обхода является частным случаем альтернативы.
Выбор из многих возможностей представлен на рис.4.1.в). Здесь Вi представляют собой условия выбора, по значениям которых выполняется один из соответствующих им операторов S1, S2, . . , Sk.