Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

АРИФМЕТИЧЕСКИЕ ОПЕРАТОРЫ

Арифметические операторы производят основные математические операции со значениями тегов.

Обозначение Оператор Пример

+ сложение tag1 + tag2

- вычитание tag1 - tag2

* умножение tag1 * tag2

/ деление tag1 / tag2

% модуль (остаток) tag1 % tag2

! возведение в степень tag1 ! 2

Примечание: Оператор "модуль" представляет собой остаток от деления одного числа на другое. Например, остаток от деления 13 на 5 равен 3; поэтому: 13 % 5 = 3.

Примеры: Арифметические операторы

В данных примерах tag1 равен 5, а tag2 равен 7.

tag1 + tag2 возвращает значение, равное 12

tag1 * tag2 возвращает значение, равное 35

tag1 - tag2 возвращает значение, равное -2

tag1 / tag2 возвращает значение, равное 0.71

tag1 % tag2 возвращает значение, равное 5

tag1 ! tag2 возвращает значение, равное 78125

Примечание: последовательность операторов является важной и объясняется далее.

ВСТРОЕННЫЕ ФУНКЦИИ

Встроенные функции возвращают значения с плавающей запятой.

Функция Возвращаемое значение

SIN(tag) синус выражения

COS(tag) косинус выражения

LOG(tag) десятичный логарифм выражения

LN(tag) натуральный логарифм выражения

EXP(tag) выражение в степени Е

TAN(tag) тангенс выражения

SQR(tag) квадратный корень выражения

ABS(tag) абсолютное значение выражения

NOT(tag) выражение = - выражение

ON(tag) возвращает 1.0 если выражение!=0 ,иначе 0.0

OFF(tag) возвращает 1.0 если выражение ==0.0 ,иначе 1.0

ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ ОПЕРАТОРОВ

НЕ нашли? Не то? Что вы ищете?

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

1. Когда два оператора имеют неодинаковый приоритет, оператор с более высоким приоритетом будет выполнен первым.

2. Когда у двух операторов одинаковый приоритет, они будут выполнены слева направо.

3. Для изменения обычного порядка вычислений операторы могут быть заключены в скобки.

Приоритеты операторов:

Приоритет Название Обозначение

1(Высший) Скобки ()

2 Степень!

3 Умножение *

Деление /

Модуль %

4 Сложение +

Вычитание -

Равенство =

Неравенство N

Mеньше <

Больше >

Меньше или равно L

Больше или равно G

И &

ИЛИ |

ПРИМЕРЫ: Последовательность выполнения операторов

В данных примерах выражение tag1 равно 5,tag2 равно 7 и tag3 равно 10.

Выражение (tag1>tag2)&(tag1<tag3) вычисляется в такой последовательности

1. tag1>tag2 = 0

2. tag1<tag3 = 1

3. 0 & 1 = 0

Выражение равно 0

Выражение tag1>tag2&tag3 вычисляется в такой последовательности

1. tag1 > tag2 = 0

2. 0&tag3 = 0

Выражение равно 0

Выражение NOT(tag1) & tag2>tag3!2 вычисляется в такой последовательности

1. tag3 ! 2 = 100.0

2. NOT(tag1)= 0.0

& tag2 = 0.0

> 100.0 = 0.0

Выражение равно 0

Стандартные алгоблоки: AVE

Синтаксис события аналогичен синтаксису формулы (FRM). Отличие состоит в том, что выход события является дискретной величиной. На выходе блока формируется 1.0 (истина) ,если значение вычисленного выражения не ноль, и 0.0 в обратном случае.

Дополнительно используются:

СРАВНЕНИЯ

Эти операторы сравнивают два значения, чтобы проверить истинность утверждения. Если оно верно, возвращается величина, равная 1, если нет,- возвращается 0. Операторов сравнения - шесть, каждый может быть записан двумя способами.

Обозначения Оператор Пример

= равенство tag1 = tag2

N неравенство tag1 N tag2

< меньше, чем tag1 < tag2

> больше tag1 > tag2

L менее или равно tag1 L tag2

G больше или равно tag1 G 2

Примеры: Операторы сравнения

В данных примерах tag1 равен 5, а tag2 равен 7.

tag1 > tag2 утверждение неверно, поэтому возвращается 0

tag1 L tag2 верно, поэтому выражение возвращает 1

tag1 = 5 верно, поэтому выражение возвращает 1

ОПЕРАЦИИ С БИТАМИ

Любое выражение, дающее значение, не равное нулю, признается верным. Например, выражение tag1 будет ложным, если значение tag1 есть 0, и истинным, если tag1 имеет любое другое значение.

Битово - логические операторы определяют истинность одного или нескольких утверждений, а также наличие определенных битов в опеpанде. Операторы возвращают не 0, если в утверждении есть биты, и 0 - если их нет. Битовых операторов два: & (И), |(Или)

* & (И) возвращает не 0, если хотя бы один бит утверждений, находящихся и справа и слева от оператора cовпадает

* | (Или) выдает не 0, если в утверждении или слева, или справа от оператора имеются биты, отличные от 0.

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

Таблица 3.3

Битовые опеpатоpы

Обозначения Оператор Пример

& и (tag1 & tag2)

| или (tag1 = 5) | (tag1 = 10)

Примеры: Битовые операторы

В данных примерах выражение tag1 равно 5, а выражение tag2 равно 7.

(tag1 < tag2) & (tag1 = 5)

возвращает 1, так как оба утверждения возвращают 1

(tag1 N 0.0) & (tag2 N 0.0)

возвращает 1, потому что ни tag1, ни tag2 не равны нулю

(tag1 > tag2) | (tag1 = 5)

возвращает 1, так как утверждение tag1 = 5 - истинно

tag1 & tag2

возвращает 5, так как (tag1=0101,tag2=0111)

tag1 | tag2

возвращает 7, так как (tag1=0101,tag2=0111)

Важно: в приведенных выражениях скобки крайне важны.

Стандартные алгоблоки: AVR

Скользящее среднее расчитывается на основе значений, поступающих на вход СПБ. При накоплении количества значений большего, чем "Ширина окна" , при поступлении каждого нового значения из буфера удаляется самое старое (FIFO).

In(I)+In(I-1)+...+In(I-Count-1)

Cure=-------

Соunt

При поступлении на вход Reset 1 происходит обнуление буфера.

При поступлении на вход Еnable 0 СПБ останавливает свою работу до получения 1 на этом входе.

Стандартные алгоблоки: IVR

Модуль предназначен для усреднения измеренных значений на заданном интервале, пришедших на вход In за это время.

По достижении счетчиком количества значений уставки Max или поступлении 1 на вход Reset происходит сброс СПБ:

на выход до прихода новых значений на вход In подается последнее полученное значение,

счетчик количества значений обнуляется и расчет ведется на основе значений, полученных после сброса.

При значении Мах =0 самосброс не происходит.

Сброс осуществляется только по входу Reset.

Усреднение значений производится по формуле:

In(i)=In(i-1)+1/i*(Cure(i)-In(i-1)) ,

где Cure(i) - текущее значение параметра;

Х(i-1) - среднее значение параметра, вычисленное на предыдущем шаге.

СПБ включается в работу, когда вход Enable = 1.

Стандартные алгоблоки: SUM

Модуль предназначен для суммирования определенной аналоговой величины.

При достижении максимального значения Max выдается сообщение о переполнении счетчика. Для включения и сброса счетчика в исходное состояние используются поля Enable и Reset.

Суммирование производится по формуле :

Y(N)=Y(N-1)+ К * X(N),

где X(N) - текущее значение параметра;

Y(N-1) - сумма вычисленное на предыдущем шаге.

K - коэффициент

Стандартные алгоблоки: LBR

Программный блок предназначен для ввода различных аналоговых значений, необходимых для работы системы (лабораторные анализы, коэффициенты и т. п.).

Вводимое значение ограничивается значениями полей Low и High.

Стандартные алгоблоки: MAT

Программный блок предназначен для выполнения арифметических операций над двумя входами In1 и In2 . Результат операции формируется на выходе Cure.

Блок выполняется всегда, если находится в фокусе выполнения программы.

Операции:

ADD - сложение

Значение выхода Cure равно сумме входов In1 и In2.

Cure = In1+In2;

SUB - вычитание

Значение выхода Cure равно разности входов In1 и In2.

Cure = In1-In2;

MUL - умножение

Значение выхода Cure равно произведению входов In1 и In2.

Cure = In1*In2;

DIV - деление

Значение выхода Cure равно частному от деления входа In1на In2.

Cure = In1/In2; Если In2 равно 0-Сure также равно 0;

Стандартные алгоблоки: LOG

Программный блок предназначен для выполнения логических операций над двумя входами In1 и In2 . Результат операции формируется на выходе Cure.

Блок выполняется всегда, если находится в фокусе выполнения программы.

Операции:

AND - логическое и

если значение входа In1 отлично от нуля и

значение входа In2 отлично от нуля, то значение выхода Cure равно 1.

В остальных случаях значение выхода Сure равно 0.

OR - логическое или

если значение входа In1 равно нулю и

значение входа In2 равно нулю

, то значение выхода Cure равно 0.

В остальных случаях значение выхода Сure равно 1.

XOR - логическое исключающее или

если значение входа In1 равно нулю и

значение входа In2 равно нулю

, то значение выхода Cure равно 0.

если значение входа In1 и

значение входа In2 отличны от нуля

, то значение выхода Cure равно 0.

В остальных случаях значение выхода Сure равно 1.

EQ(=) - равенство

если значение входа In1 равно значению входа In2

, то значение выхода Cure равно 1.

В остальных случаях значение выхода Сure равно 0.

NE(/=) - неравенство

если значение входа In1 не равно значению входа In2

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7