Форум пользователей ПО АСКОН

Смежные вопросы => Разное => Тема начата: 198JONNY от 28.01.14, 18:57:56

Название: Параметризация. логический оператор
Отправлено: 198JONNY от 28.01.14, 18:57:56
Здравствуйте! Каким образом можно записать логическое выражение
"Если а<=50 100 200". Т.е. если значение параметра а <= 50 то переменная, которой присвоено данное выражение, принимает значение 100 , в противном случае 200.
Как применить это через это:
"?: – логическое выражение вида a ? b : c (если a – истина (не равно 0), то b, иначе c (где a, b и c могут быть выражениями))."

я не понял.
Название: Re: Параметризация. логический оператор
Отправлено: Sabahs от 28.01.14, 19:05:56
x<=50?100:200
Название: Re: Параметризация. логический оператор
Отправлено: 198JONNY от 28.01.14, 21:40:16
Благодарю! то что надо!!!
Название: Re: Параметризация. логический оператор
Отправлено: Moses Pray от 29.01.15, 10:48:05
В данном случае у переменной "а" может быть только два интервала значений значени либо <=50 и все остальное.
А если у переменной несколько интервалов значений. Например:  меньше 10, от 10 до 20, больше 20?
Название: Re: Параметризация. логический оператор
Отправлено: beginner от 29.01.15, 11:13:05
Например, вот так:
x<=50?100:(x<=100?200:300)

Т.е. это будет работать следующим образом:
Если x от 0 до 50, то y = 100
Если x от 50 до 100, то y = 200
Если x больше 100, то y = 300

Если у вас больше промежутков, то будет больше вложений в формуле.
Если у вас появится еще одни промежуток, то в формуле вместо цифры 300 нужно будет открыть еще одни скобки и сделать соответствующие записи.
Название: Re: Параметризация. логический оператор
Отправлено: Moses Pray от 29.01.15, 11:38:19
Спасибо. Нужно только отметить, что в конце надо скобки закрыть столько раз, сколько раз они были открыты