К статьям

Условные операторы

2 мин


Введение

Статья Условные операторы тесно связана со статьей Логические выражения. С ней нужно предварительно ознакомиться 

Оператор "Если"

В естестенном языке мы часто используем конструкцию Если

Если уходишь, то закрой дверь 
Если учишься программированию, то делай практику

Конструкция на встроенном языке выглядит так

Если <Логическое выражение> Тогда

    // действия

КонецЕсли;

Если <Логическое выражение> истинно, то выполняются действия

ВыводитьСообщение = Истина;

Если ВыводитьСообщение = Истина Тогда

    Сообщить("Условие выполнено");

КонецЕсли;

Здесь <ВыводитьСообщение = Истина> это логическое выражение. Т.к ВыводитьСообщение уже Истинно, нет смысла сравнивать со значением Истина

ВыводитьСообщение = Истина;

Если ВыводитьСообщение Тогда

    Сообщить("Условие выполнено");

КонецЕсли;

 Конструкция может содержать ветвь Иначе

Если <Логическое выражение> Тогда

    // операторы

Иначе

    // операторы

КонецЕсли;

Сумма = -2;

Если Сумма > 0 Тогда

    Сообщить(Сумма);

Иначе

    Сообщить(Сумма * -1);

КонецЕсли;

К ветви иначе можно присоединять условия 

ПервоеЧисло = 1;

ВтороеЧисло = 2;

 

Если ПервоеЧисло > ВтороеЧисло Тогда

    Сообщить("Первое число больше");

ИначеЕсли ПервоеЧисло = ВтороеЧисло Тогда

    Сообщить("Числа равны");

Иначе

    Сообщить("Второе число больше");

КонецЕсли;

Условий ИначеЕсли может быть сколь угодно много, внутри условного оператора можно создавать сколь угодно много других условных операторов.

Вычислить выражение по условию

Тернарный оператор - "?"

Результат = ?(<Логическое выражение>, <Выражение 1>, <Выражение 2>)

По существу подменяет конструкцию

Если <Логическое выражение> Тогда

    Результат = ... // операторы

Иначе

    Результат = ... // операторы

КонецЕсли;

Если <Логическое выражение> Истина, то переменной Результат присваивает значение <Выражение 1> иначе <Выражение 2>

Конструкция с тернарным оператором может выглядеть более лаконично

Сумма = -2;

Результат = ?(Сумма > 0, Сумма, Сумма * -1);

Сообщить(Результат);

Задачи на эту тему:

Рейтинг 0

Комментарии