Содержание

Назад Вперед

3.4. Выражения

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

arithm-expression :
[ { +, - } ] term { arithm-operation term }*
term :
arihm-constant
call-function
name-index
name-domain-parameter
name-scalar
variable-on-domain
(arithm-expression)
variable-on-domain :
name-variable-on-domain [ [ list-index-expression ] ]
const-expression :
[ { +,- } ] const-expression-without-sign
const-expression-without-sign :
integer-term { arithm-operation integer-term }*
integer-term :
int-constant
name-domain-parameter
( const-expression )
index-expression :
name-index [ [ { +,- } ] const-expression-without-sign ]
name-index = const-expression-without-sign
name-index = name-index [ [ { +,- } ] const-expression-without-sign ]

Результатом вычисления index expression в фиксированной точке T области (см. п. 5.1.1) являются координаты точки T' области, которые определяются по следующим правилам: индексы заменяются на указанные constant expression, значения координат точки T (с учетом индексного смещения, если оно задано) или значения других указанных индексов в точке T.


Например, для точки T с координатами i=9, j=15, k=3, l=37 индексное выражение [i-1,j,k=7,l=i+4] дает значение точки индексного пространства T' с координатами i=8, j=15, k=7, l=13.


    Порядок выполнения операций при вычислении arithmetical expression следующий:
  1. вычисление индексных выражений;
  2. определение аргументов (фактических параметров) функций (в том числе определение областей действия редукционных функций, (см. п. 5.2.3);
  3. выполнение операций внутри скобок ( и );
  4. выполнение операций возведения в степень **;
  5. выполнение операций умножения и деления * и /;
  6. выполнение операций сложения и вычитания + и -.

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

    Тип результата арифметического выражения определяется типами результатов операций, выполняемых при вычислении арифметического выражения с учетом приведенного выше порядка выполнения операций. Тип результата операции:
  1. целый, если оба операнда типа целый;
  2. двойной, если хотя бы один операнд типа двойной;
  3. вещественный иначе.
Constant expression является частным случаем arithmetical expression. Примеры арифметических выражений:
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)

Содержание

Назад Вперед