В языке программирования ПРОФТ существуют три конструкции для нелинейной передачи управления в программе.
1. Если ... Иначе ... КонецЕсли.
Конструкция имеет вид: Если Условие. ... [Иначе.] ... КонецЕсли. Конструкция предназначена для разветвления алгоритма программы. Если выражение Условие принимает значение Истина, то выполняются операторы следующие непосредственно за условием и до ключевого слова Иначе, или если его нет, то до ключевого слова КонецЕсли. Если выражение Условие принимает значение Ложь, то возможны два случая. Если присутствует ключевое слово Иначе, выполняются операторы следующие за предложением Иначе до предложения КонецЕсли. Если же предложение Иначе отсутствует, то выполнение передается на предложения следующие за предложением КонецЕсли.
Например, имеется конструкция:
Если А > Б.
сбщ("А больше Б").
Иначе.
сбщ("А не больше Б").
КонецЕсли.
В том случае, если А=1, а Б=2 будет выведено сообщение "А не больше Б".
Предложение Иначе в данной конструкции можно опускать:
Если А > Б.
сбщ("А больше Б").
КонецЕсли.
В данном случае сообщение будет выведено только в том случае, если А больше Б.
2. Пока ... КонецПока.
Конструкция имеет вид: Пока Условие. ... КонецПока. Конструкция работает следующим образом: вычисляется значение Условие, и если оно имеет значение Истина, то выполняются все предложения до КонецПока. После этого выполнение программы передается к предложению Пока и выражение Условие снова вычисляется. Цикл повторяется до тех пор, пока выражение Условие не примет значение Ложь. Если Условие принимает значение Ложь, то управление в программе передается на предложение следующее за предложением КонецПока.
Например, программа вычисляющая факториал числа 10:
Факториал = 1.
А = 1.
Пока А <= 10.
Факториал = Факториал * А.
А = А + 1.
КонецПока.
сбщ(Факториал).
В итоге будет выведен результат вычислений: 3628800.
3. Делать ... До ... .
Конструкция имеет следующий вид: Делать. ... До Условие. Конструкция работает следующим образом: сначала выполняются все предложения до предложения До [Условие]. Здесь производится вычисление условия и если оно принимает значение Ложь, то управление программы передается к предложению Делать. Это будет повторятся до тех пор, пока выражение не примет значение Истина.
Например, та же программа вычисления факториала, с использованием конструкции Делать ... До.
Факториал = 1.
А = 1.
Делать.
А = А + 1.
Факториал = Факториал * А.
До А = 10.
сбщ(Факториал).
В итоге будет выведен тот же результат вычислений: 3628800.