Cтраница 2
Поскольку для данного подмножества языка начало измерения или нижняя граница всегда подразумевается равной 1, то указывается только верхняя граница каждого измерения, которая должна быть определена в атрибуте размерности десятичной целой константой без знака. Количество границ определяет размерность массива. Максимальное количество измерений, которое может быть указано при объявлении массива, равно трем. [16]
В PL / 1, в отличие от фортрана II и IV, индексы могут принимать не только положительные значения, но и нулевые и отрицательные; поэтому в атрибуте размерности PL / I характеристика диапазона изменения индекса для каждой из размерностей массива может задаваться и с помощью граничной пары. [17]
Массивное выражение может являться правой частью оператора присваивания; в этом случае в левой части оператора должна находиться массивная переменная ( может быть, и список переменных) с тем же атрибутом размерности. [18]
Существенным ограничением по сравнению с фортраном является то, что все атрибуты совмещаемых переменных должны совпадать, за исключением атрибута длины для строчных переменных ( но длина совмещаемой переменкой никогда не должна превосходить длину базовой переменной) и в некоторых случаях - - атрибута размерности. [19]
Если нижняя граница отсутствует, она полагается равной единице. Атрибут размерности нужно располагать сразу вслед за описываемым идентификатором или за скобками, заключающими список описываемых идентификаторов. [20]
Для обращения к отдельным элементам массива используются индексированные переменные. Индексы, подобно атрибуту размерности, записываются в скобках вслед за идентификатором массива, но означают номер элемента по каждому измерению. [21]
При инициализации элементов, входящих в массив структур, следует учитывать, что количество констант, необходимых для инициализации таких элементов, зависит от атрибута размерности, приписанного массиву структур. Таким образом, приходится считать, что атрибут размерности массива структур ( а, может быть, и подструктур) как бы переносится на составляющие его элементы и добавляется к их размерности. [22]
Атрибут размерности может задаваться вместе в атрибутами данных только для младших элементов структуры. Старшая структура и подструктура не могут объявляться с атрибутом размерности. Следовательно, в данном подмножестве языка массивы структур не могут использоваться в программах. [23]
Атрибут размерности может задаваться вместе с атрибутами данных только для младших элементов структуры. Старшая структура и подструктура ] не могут описываться с атрибутом размерности, следовательно, массивы структур не могут использоваться в программах. [24]
Если имя-переменной - имя подструктуры, то за ним может следовать атрибут размерности или запятая, а за ней следующая подструктура или элемент структуры, который содержится в этой подструктуре. Если имя-переменной - имя элемента структуры, за ним могут следовать атрибут размерности и ( или) атрибуты данного. [25]
Если он - имя подструктуры, то за ним следует запятая, а за запятой - следующая подструктура или элемент структуры, который содержится в этой подструктуре. Если он - имя элемента структуры, за ним может следовать атрибут размерности и ( или) атрибуты данного. Если после идентификатора элемента структуры отсутствуют атрибуты данных, то присваиваются атрибуты по умолчанию, подобно скалярным переменным. [26]
Если он - имя подструктуры, то за ним следует запятая, а за запятой имя следующей подструктуры или элемента структуры. Если он - имя элемента структуры, за ним может следовать атрибут размерности ( если это массив) и ( или) атрибуты данного. [27]
Если в выражении наряду с константами, простыми или индексированными переменными встречаются идентификаторы массивов, то такое выражение называется выражением-над-массивами. Массивы, входящие в выра - жение, а также массив в левой части оператора присваивания должны иметь одинаковый атрибут размерности. [28]
Инициализация структур или массивов структур производится путем инициализации ( с помощью атрибута INITIAL) составляющих ее скалярных или массивных элементов. Причем для мм: екви структур необходимо учитывать, что количество элементов ( скалярных или входящих в массив), которые необходимо проинициали-зировать, увеличивается пропорционально атрибутам размерностей массивов структур ( или подструктур), содержащих данную величину. [29]
При описании структур, содержащих другие структуры, можно использовать атрибут LIKE ( похожий, подобный), указывающий на то, что описываемая структура является структурой, подобной той, имя которой задано после LIKE. Подобие состоит в том, что организация новой структуры, имена и атрибуты ее элементов берутся из старой структуры ( выражения, входящие в атрибуты, при этом перевычисляются), но атрибуты, относящиеся к имени старой структуры ( например, атрибут размерности для массива структур), на новую не перено. [30]