Числовые функции

Navigation:  ПРИЛОЖЕНИЯ > 4. ЯЗЫК ФОРМАТИРОВАНИЯ ДАННЫХ. РЕДАКТОР ФОРМАТОВ > Функции >

Числовые функции

Previous pageReturn to chapter overviewNext page

В этом разделе:

L     –     MFN первой ссылки на термин доступа

RAVR  –  среднее арифметическое,  

RMAX  –  максимум,  

RMIN  –  минимум,  

RSUM  –  сумма числовых значений,  

VAL  –  числовое значение,  

 

Функция VAL

возвращает числовое значение своего аргумента. Аргумент - это формат, который может содержать любую допустимую команду форматирования. Сначала вычисляется аргумент, чтобы получить строку текста. Затем эта строка просматривается слева направо до тех пор, пока не будет найдено числовое значение, представленное в текстовом виде (которое может быть  представлено в экспоненциальной форме). Функция VAL возвращает это числовое значение, переведенное во внутреннее машинное представление, удобное для  выполнения вычислений.

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

Ниже приведены примеры функции VAL (при этом предполагается, что v1^a=10, v1^b=20 и v2=30):

 

Формат                                      Значение

-------------------------------              ----------------

 val ('15.79')                                  15.79

 val (v1)                                        10

 val (v1^a)                                      10

 val (v2)                                        30

 val ("19"v1^b)                                1920

 val ('xxxx7yyy8zzzz')                    7

 val ('abs.5.8е-4 ml')                      0.00058

 val ('вода')                                    0

 val ('Июль-Август 1985')                0

 

В этом примере в последней строке значение 0 (а не 1985), так как система рассматривает минус между словами Июль и Август как начало отрицательного числового значения, а букву А от Август как его конец, поэтому выбранное значение получается просто '-' и результатом выполнения функции является 0. В связи с этим, для тех полей или подполей, которые будут использоваться для вычислений, важно с самого начала четко определить правила ввода данных.

 

Функция RSUM

возвращает сумму одного или более числовых значений. Сначала система вычисляет аргумент, представленный форматом, чтобы получить строку текста. Затем эта строка просматривается слева направо, как и в функции VAL, и все содержащиеся в ней числовые значения складываются. Полученная сумма является значением функции. Отдельные числовые значения должны быть разделены, по крайней мере, одним нечисловым символом, поэтому надо предусмотреть, чтобы такое разделение в формате присутствовало. Функция RSUM может использоваться для вычисления суммы всех числовых значений, содержащихся во всех экземплярах данного повторяющегося поля. Например, предполагая, что поле 1 имеет четыре экземпляра, содержащие числа 1, 2, 3 и 4, будем иметь:

 

Формат                             Значение

-------------------------------    ----------------

 rsum ('10,20,30')                60

 rsum (v1|;|)                          10

 rsum (v1|,|,'48,3.5')            61.5

 

 

Функция RMIN

возвращает минимальное значение одного или нескольких числовых значений. Сначала система вычисляет аргумент, представленный форматом, чтобы получить строку текста. Затем эта строка просматривается слева направо, как и в функции VAL, и из нее извлекаются все числа. Алгебраически наименьшее из извлеченных чисел и будет результатом функции. Отдельные числовые значения должны быть разделены, по крайней мере, одним нечисловым символом, поэтому надо предусмотреть, чтобы такое разделение в формате присутствовало. Функция RMIN может использоваться для вычисления минимального значения среди всех числовых значений, содержащихся во всех экземплярах данного повторяющегося поля. Например, предполагая, что поле 1 имеет четыре экземпляра, содержащие числа 10, 20, 30 и 40, будем иметь:

 

Формат                              Значение

-------------------------------       ----------------

 rmin ('1,2,-3')                           -3

 rmin (v1|;|)                               10

 rmin (v1|,|,'48,3.5')                   3.5

 

Функция RMAX

возвращает максимальное значение одного или нескольких числовых значений. Сначала система вычисляет аргумент, представленный форматом, чтобы получить строку текста. Затем эта строка просматривается слева направо, как и в функции VAL, и из нее извлекаются все числа. Алгебраически наибольшее из извлеченных чисел и будет результатом функции. Отдельные числовые значения должны быть разделены, по крайней мере, одним нечисловым символом, поэтому надо предусмотреть, чтобы такое разделение в формате присутствовало. Функция RMAX может использоваться для вычисления максимального значения среди всех числовых значений, содержащихся во всех экземплярах данного повторяющегося поля. Например, предполагая, что поле 1 имеет четыре экземпляра, содержащие числа 10, 20, 30 и 40, будем иметь:

 

Формат                               Значение

-------------------------------       ----------------

 rmax ('1, 2, -3')                        2

 rmax (v1|;|)                              40

 rmax (v1|,|,'48,3.5')                  48

 

 

Функция RAVR

возвращает среднее арифметическое значение одного или нескольких числовых значений. Сначала система вычисляет аргумент, представленный форматом, чтобы получить строку текста. Затем эта строка просматривается слева направо, как и в функции VAL, и из нее извлекаются все числа. Вычисленное среднее значение извлеченных чисел и будет результатом функции. Отдельные числовые значения должны быть разделены, по крайней мере, одним нечисловым символом, поэтому необходимо предусмотреть, чтобы такое разделение в формате присутствовало. Функция RAVR может использоваться для вычисления среднего значения среди всех числовых значений, содержащихся во всех экземплярах данного повторяющегося поля. Например, предполагая, что поле 1 имеет четыре экземпляра, содержащие числа 10, 20, 30 и 40, будем иметь:

 

Формат                               Значение

-------------------------------       ----------------

 ravr ('1, 2, -3')                          0

 ravr (v1|;|)                                25

 ravr (v1|,|,'48,3.5')                    25.25

 

Функция L

использует текст, полученный в результате вычисления аргумента, в качестве термина доступа для инвертированного файла и возвращает MFN первой ссылки на этот термин, если она есть. Перед поиском в инвертированном файле термин автоматически переводится в прописные буквы. Если термин не найден, то функция принимает значение ноль. Функция L обычно используется вместе с функцией REF .

Обратим внимание, что формат, расположенный в аргументе, вычисляется с использованием текущего режима вывода. Это является существенным, так как использование неправильного режима может привести к тому, что термин не будет найден в инвертированном файле. Как правило, следует использовать тот же режим, который применяется в ТВП для инвертированного файла.

 


См. также:

Функции