Вызов раздела

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

Фактические параметры раздела могут быть объявлены исходными или результатами при помощи ключевого слова RESULT. Например, вызов раздела Calculate в программе Gauss:

COMPUTE Calculate(a ON kls, b ON ks RESULT x ON ks).

Первые два параметра a, b являются исходными, третий x - результат. Побочный эффект невозможен - если множества исходных параметров и параметров-результатов пересекаются, то это приводит к повторному присваиванию значений величинам, что в Норме запрещено.

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

Способы задания исходных фактических параметров раздела совпадают со способами задания фактических параметров функции.

Фактическими параметрами-результатами могут быть скаляры, величины с индексами, величины на областях.

Если вызов раздела находится в теле оператора ASSUME, то параметрами результата не могут быть скаляры и величины на статических областях (которые не меняются при различных значениях индексов из заголовка оператора ASSUME) - это заведомо приводит к переприсваиванию.

Если вызов раздела находится вне тела оператора ASSUME, то параметрами результата могут быть только имена скаляров, величины с индексами-константами и величины на статических областях.

Пример различных способов задания фактических параметров при вызове раздела.

VARIABLE X, Y DEFINED ON Oi: (I=1..N).
VARIABLE T DEFINED ON Oj: (J=1..M).
EXTERNAL PART Integral.
FOR Oi ASSUME
COMPUTE TEST(Integral, T ON Oj, Y RESULT X ON Oi).

В операторе ASSUME описано правило вычисления вектора Xi, i=1,...,N от параметров:

1-ый параметр - имя Integral внешнего раздела

2-ой параметр - значения Tj, j=1,...,M(передается массив)

3-ий параметр - значение Yi

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