Условные операторы
2 мин
Введение
Статья Условные операторы тесно связана со статьей Логические выражения. С ней нужно предварительно ознакомиться
Оператор "Если"
В естестенном языке мы часто используем конструкцию Если
Если уходишь, то закрой дверь
Если учишься программированию, то делай практику
Конструкция на встроенном языке выглядит так
Если <Логическое выражение> Тогда
// действия
КонецЕсли;
Если <Логическое выражение> истинно, то выполняются действия
ВыводитьСообщение = Истина;
Если ВыводитьСообщение = Истина Тогда
Сообщить("Условие выполнено");
КонецЕсли;
Здесь <ВыводитьСообщение = Истина> это логическое выражение. Т.к ВыводитьСообщение уже Истинно, нет смысла сравнивать со значением Истина
ВыводитьСообщение = Истина;
Если ВыводитьСообщение Тогда
Сообщить("Условие выполнено");
КонецЕсли;
Конструкция может содержать ветвь Иначе
Если <Логическое выражение> Тогда
// операторы
Иначе
// операторы
КонецЕсли;
Сумма = -2;
Если Сумма > 0 Тогда
Сообщить(Сумма);
Иначе
Сообщить(Сумма * -1);
КонецЕсли;
К ветви иначе можно присоединять условия
ПервоеЧисло = 1;
ВтороеЧисло = 2;
Если ПервоеЧисло > ВтороеЧисло Тогда
Сообщить("Первое число больше");
ИначеЕсли ПервоеЧисло = ВтороеЧисло Тогда
Сообщить("Числа равны");
Иначе
Сообщить("Второе число больше");
КонецЕсли;
Условий ИначеЕсли может быть сколь угодно много, внутри условного оператора можно создавать сколь угодно много других условных операторов.
Вычислить выражение по условию
Тернарный оператор - "?"
Результат = ?(<Логическое выражение>, <Выражение 1>, <Выражение 2>)
По существу подменяет конструкцию
Если <Логическое выражение> Тогда
Результат = ... // операторы
Иначе
Результат = ... // операторы
КонецЕсли;
Если <Логическое выражение> Истина, то переменной Результат присваивает значение <Выражение 1> иначе <Выражение 2>
Конструкция с тернарным оператором может выглядеть более лаконично
Сумма = -2;
Результат = ?(Сумма > 0, Сумма, Сумма * -1);
Сообщить(Результат);