Выражения

В языке существует четыре класса выражений:

индексные выражения

арифметические выражения

константные выражения

условные выражения

 


Индексные выражения

Результатом вычисления индексного выражения в фиксированной точке T области являются координаты точки T' области, которые определяются по следующим правилам:

все имена индексных конструкций, входящих в индексное выражение, заменяются на соответствующие им списки индексных выражений из описания индексной конструкции MACRO INDEX

индексы заменяются на указанные константные выражения, значения координат точки T (с учетом индексного смещения, если оно задано) или значения других указанных индексов в точке T

 


Арифметические выражения

Порядок выполнения операций при вычислении арифметического выражения следующий:

1. вычисление индексных выражений

2. определение фактических параметров функций

3. выполнение операций внутри скобок ( и )

4. выполнение операций возведения в степень **

5. выполнение операций умножения * и деления /

6. выполнение операций сложения + и вычитания -

Если операций уровней 3, 5, 6 несколько то они производятся слева направо, для уровня 4 - справа налево.

Тип результата арифметического выражения определяется типами результатов операций, выполняемых при вычислении арифметического выражения с учетом приведенного выше порядка выполнения операций.

Тип результата операции:

целый, если оба операнда типа целый

двойной, если хотя бы один операнд типа двойной

вещественный иначе

Примеры арифметических выражений:

AL12[J=2*M-1]+STEPLP*JJ
Q+1.0D5/((R[Q-1]-R)*(R[Q-1]-R[Q+1]))
CN*TRAP(STEP, 2*MV+1, MMR ON POLL)


Константные выражения

Константное выражение является частным случаем арифметического выражения.

 


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

Порядок выполнения операций при вычислении условного (логического) выражения:

1. вычисление арифметических выражений

2. выполнение операций внутри скобок ( и )

3. вычисление отношений =,>,<,>=,<=,<>,><

4. выполнение операций логического отрицания NOT

5. выполнение операций логического умножения AND

6. выполнение операций логического сложения OR

Если операций уровней 2, 3, 5, 6 несколько то они производятся слева направо, для уровня 4 - справа налево.

Примеры логических выражений:

ABS(MOD-X1+Y1)<=1.0D-20
NOT (II=(2*N+1)*(2*NV+1) AND NU=0)
I=J+1