Условные и Числовые Выражения

<< Click to Display Table of Contents >>

Навигация  Проект > Скрипты > Язык ST > Операторы и Выражения в ST  >

Условные и Числовые Выражения

Previous pageReturn to chapter overviewNext page

Вы можете разделить выражения на две группы в зависимости от того, какое значение они возвращают.

 

Условные выражения возвращают значения типа BOOL, ИСТИНА или ЛОЖЬ.

Вот пример условного выражения:

1 == 1

Это выражение вычислит условие и на выходе будет ИСТИНА. Условное выражение также выглядит, как показано ниже:

1 > 2

Но данное условное выражение при вычислении на выходе выдаст ЛОЖЬ, т.к. 1 не больше 2.

 

Числовые выражения после вычисления на выход выдают либо целочисленные числа, либо число с плавающей точкой.

Числовые выражения могут выглядеть как показано ниже:

13.2 + 19.8

Данное выражение после вычисления на выходе будет иметь число с плавающей точкой равное 33.0, и поэтому - это числовое выражение.

 

Условные выражения используются в операторах IF, как условия. Если условное выражение после вычисления на выходе будет иметь ИСТИНУ,  то команды которые следуют после данного условия будут выполняться. TeslaSCADA2 будет выполнять только команды после открывающейся скобки {, если выражение выдаст на выходе ИСТИНУ. Это показано в следующем примере:

A = 0;

IF (A == 0) {  

B = 0;

}

Команды на 3 линии будут выполняться, только если A равно 0. 0 присвоено переменной А в выражении до условного оператора IF. До этого Вы познакомились с простым оператором IF, где команды выполняются, только если значения условия равно ИСТИНЕ. Если данное значение будет ЛОЖЬ, данные команды не будут выполняться. Что делать, если мы хотим использовать множественные условия? Также как и во многих языках программирования, Вы можете использовать ключевые слова ELSE IF и ELSE для множественных условий в выражениях IF. Оба и ELSE IF, и ELSE - это дополнения для IF выражения, и вот, как выглядит их синтаксис:

if (условное выражение) {

  <команда>;  

}

else if (условное выражение){

  <команда>;

} else {

  <команда>;  

}

Если услвное выражение на 1 линии ЛОЖЬ, команды ниже нее не выполняются. Вместо этого компилятор проверяет условное выражение после ключевого слова ELSE IF. Это работает также, как и для ключевого слова IF: Если условное выражение после ключевого слова ИСТИНА, выполняются последующие команды. В конце ключевое слово ELSE, это работает, как условие по умолчанию для вашего выражения IF. Если все условные выражения IF и ELSE IF на выходе имеют ЛОЖЬ, будут выполняться команды после ключевого слова ELSE .

 

Помимо создания множественных условий, Вы можете расширить условия путем включения множественных переменных.  Вы можете сочетать множественные выражения, обычно это делается при помощи логических операторов. Что если Вы хотите, чтобы не только INPUT1, но и INPUT2 были ИСТИНА прежде чем на выходе была тоже ИСТИНА. Выражение будет выглядеть как показано ниже:

if (INPUT1 & INPUT2) {

 OUTPUT1 = TRUE;

}

Теперь выражению присвоится ИСТИНА, только если INPUT1 и INPUT2 будут ИСТИНА.