ГОСТ Р HCO/HL7 27951— 2016
Вычисление элемента последовательности с заданным индексом / (х) осуществляется следующим образом:
индекс / делится нацело на значение свойства denominator (d) и определяется остаток от деления результата на
значение свойства period (р). Полученное значение умножается на значение свойства increment (Дх) и прибавля
ется к значению свойства head (
xq
):
х(= х0 + Ах ■(tid) mod р
in v a ria n t (GL1ST<T> lis t , INT index}
where 1 ist.n o nN ull.an d (in d ex.n o n N u l1} (
lis t.p e rio d .n o n N u И .im p lie s (lis t.ite m (in d e x }.e q u a l(
l i s t . head.plus (ite m .d ivid e d B y(l is t.. increm ent .denom inator}
.re m a in d e r(lis t.p e rio a > ) . tim es(increm ent}} } ;
1 is t .p e rio d .is N u ll .im p lie s (lis t .item (m aex> .equal (
lis t.h e a d .p iu s (iL e m .d iv id e d B y (lis t. increm ent.denom inator}}
. tim es(increm ent}} } ;
1;
B.3.3.1 Свойство head: T (унаследовано от типа данных LIST)
Первый элемент генерируемой последовательности.
В.3.3.2 Свойство increment: OTY
Определение: разность между значением и предшествующим ему отличающимся значением. Например, при
генерации последовательности (1:4: 7; 10; 13; ...) свойство increment равно 3: аналогично при генерации последо
вательности (1; 1; 4: 4; 7; 7; 10; 10; 13; 13;...) свойство increment также равно 3.
invariant(GLIST<T> х} (
х.increment.dataType.implies(T.di££Type};
);
B.3.3.3 Свойство period: INT
Определение: если это свойство не пусто, то оно определяет чередование последовательности, то есть че
рез заданное в нем число различных элементов значение элемента последовательности возвращается к началь
ному значению. Например, последовательность (1; 2; 3; 1: 2: 3; 1; 2: 3; ...) имеет период 3; последовательность {1;
1; 2: 2; 3; 3; 1; 1: 2; 2: 3; 3;...) также имеет период 3.
Задание свойства period позволяет периодически повторять группу значений. «Сигнал» такого периодическо
го генератора всегда является «пилой» наподобие изображения линейной функции на осциллографе1).
В.3.3.4 Свойство denominator: INT
Определение: целое число, на которое делится индекс элемента последовательности. Задает число по
вторений того же самого значения элемента последовательности перед тем. как перейти к следующему значению.
Например, при генерации последовательности (1; 1; 1; 2; 2; 2: 3:3; 3;...) свойство denominator равно 3.
Свойство denominator используется для генерирования нескольких последовательностей, используемых для
периодического сканирования многомерного пространства. Например, (абстрактный) экран телевизора использует
два таких генератора для строк и столбцов изображения. Скажем, если на экране отображается развертка 200 строк с
320 растровыми столбцами, то у генератора столбцов свойство denominator равно 1. а у генератора строк это
свойство равно 320.
Т аблица В.41 — Примеры генерируемых последовательностей
Свойство head
Свойство
increment
Свойство
denominator
Свойство
period
Описание последовательности
0
1
1
аа
Последовательность идентификаторов, в которой
каждый элемент равен своему индексу
198706051900
2 hour
1
во
Последовательность значений времени, начинающая
ся с 19:00 5 июня 1987 г. и каждый раз возрастающая
на два часа: 21:00.23:00,1:00 (6 июня). 3:00.5:00 и т.д.
11Обратите внимание на отличие типа данных GTS. Тип данных GTS представляет собой генератор для типа
SET<TS>, а не LIST<TS>. Последовательность дискретных значений из непрерывного домена не имеет особого
смысла, хроме как для приложений оцифровки биосигналов. Однако тип данных SET<TS> можно представлять себе
как последовательность значений интервалов IVL<TS>, которая тем не менее отличается от типа данных LIST<TS>.
389