# Условный переход | Типовые задачи Предыдущий Следующий

## Общие сведения Наименование: IF_GOTO. Количество аргументов: 2 или 3. ## Примечание по входам/аргументам •порядок: «Условие», «Истинно», «Ложно»; •тип: «Условие» — логический, «Истинно» и «Ложно» — логические наименования алгоблоков подпрограммы; •признаки инверсии второго и третьего входа («Истинно», «Ложно») игнорируются; •третий аргумент («Ложно») можно не указывать — по умолчанию (если условие ложно) переход осуществляется на следующий алгоблок. ## Функционирование •если первый вход («Условие») равен логической единице, то осуществляется переход на строку подпрограммы с указанным во втором аргументе («Истинно») логическим именем; •если первый вход («Условие») равен логическому нулю, то осуществляется переход на строку подпрограммы с указанным в третьем аргументе («Ложно») логическим именем; •если первый вход («Условие») равен логическому нулю, и у данного алгоблока отсутствует третий аргумент, то работа продолжится со следующей строки подпрограммы; •если первый вход («Условие») имеет недостоверное значение или неинициализированное состояние, то работа продолжится со следующей строки подпрограммы.
Внимание: некорректное использование данного алгоблока (переходы "назад" и пр.) может приводить к зацикливанию программы и, как следствие, переходу модуля ПР в состояние ОШИБКА ПРОГРАММЫ.
## Пример использования // если DI1.3 = 1, то AO1.1 = 50; иначе AO1.1 = 10 B1 = IF_GOTO(DI1.3; B4) B2 = RESULT(AO1.1; 10) B3 = GOTO(B5) // безусловный переход на последнюю строку подпрограммы B4 = RESULT(AO1.1; 50) B5 = NOT(0) ## См. Также Преобразоавние типов Выражения