Условный переход

Типовые задачи  Предыдущий  Следующий

Общие сведения

Наименование: 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)

См. Также

Преобразоавние типов

Выражения