Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
12.02.2016
Размер:
2.28 Mб
Скачать

2.20 Блок вычисления с одним оператором (soc)

Данный блок предназначен для выполнения одной математической операции, такой как сложение, вычитание, умножение, деление и т.д. По крайней мере один функциональный блок стратегии должен быть присоединен ко входу блока вычисления с единственным оператором. Значение на выходе присоединенного блока будет являться первым операндом в производимой математической операции. Вторым оператором может быть константа, заданная в соответствующем поле диалоговой панели настройки параметров блока, либо значение на выходе другого присоединенного функционального блока стратегии.

Результат на выходе блока вычисления с единственным оператором может быть представлен в виде целого (Integer) либо действительного (float) числа.

Операторы и функции блока вычисления с единственным оператором:

Оператор Функция (результат на выходе блока)

nop Всегда 0

+ Операнд1 + Операнд2

- Операнд1 - Операнд2

x Операнд1 * Операнд2

/ Операнд1 / Операнд2

pow Операнд1 в степени Операнд2

mod* Остаток целочисленного деления Операнда1 на Операнд2

and* Логическое И операндов

or* Логическое ИЛИ операндов

xor* Логическое ИСКЛЮЧАЮЩЕЕ ИЛИ операндов

max Максимальное значение из двух операндов

min Минимальное значение из двух операндов

>= 1, если Операнд1 >= Операнд2; 0 в противном случае

<= 1, если Операнд1 <= Операнд2; 0 в противном случае

> 1, если Операнд1 > Операнд2; 0 в противном случае

< 1, если Операнд1 < Операнд2; 0 в противном случае

equ 1, если Операнд1 равен Операнду2; 0 в противном случае

neq 1, если Операнд1 не равен Операнд2; 0 в противном случае

abs Абсолютная величина (модуль) Операнда1

not* Логическое НЕ Операнда1

inv Инверсия Операнда1

sqrt Квадратный корень Операнда1

log Десятичный логарифм Операнда1

ln Натуральный логарифм Операнда1

exp exp(Операнд1)

jct Оператор объединения (описание приведено ниже)

Операторы, после которых стоит символ "*", требуют использования в качестве аргументов (операндов) значения целого (

Integer) типа. Некоторые из перечисленных выше операторов требуют только один аргумент (операнд). Логические операции (AND, OR, XOR) требуют использования двух аргументов целого типа. Операторы ABS, NOT, INV, SQRT, LOG, LN, EXP, JCT требуют использования одного аргумента (целого или с плавающей точкой в зависимости от типа операции).

При передаче значений операндов блоку вычисления с одним оператором необходимо принимать ряд мер предосторожности. Операциям деления и вычисления остатка от целочисленного деления в качестве второго аргумента не должно передаваться нулевое значение. Кроме того, некоторым операторам (SQRT, LN, LOG) в качестве аргумента должно передаваться только положительное значение. Если не следовать указанным правилам, то при исполнении стратегии будут возникать неустранимые ошибки.

Оператор JCT предназначен для выполнения специальной функции, которая заключается в передаче на выход блока значения, поступающего на его вход. Данная функция наиболее удобна в случае, если требуется установить связь между элементом управления Кнопка и несколькими функциональными блоками стратегии. Элемент управления Кнопка, используемый в Редакторе форм отображения, может быть связан только с одним функциональным блоком стратегии. Оператор JCT, вход которого связан с элементом управления Кнопка, может быть использован в качестве "точки ветвления" для установления связи с любым количеством функциональных блоков стратегии.

Входная связь: Блок вычисления с одним оператором имеет два входа: Операнд 1 и Операнд 2.

Выходная связь: Блок вычисления с единственным оператором имеет один выход, по которому выводится результат выполнения математической операции, выбранной в поле Оператор диалоговой панели настройки параметров блока.

Соседние файлы в папке Методичні матеріали