Область действия переменных и констант
Область действия переменных и констант определяется с помощью ключевых слов: Private, Public и Static. Private – область действия в пределах конкретного модуля. После завершения выполнения модуля память, отведенная под эти переменные, освобождается. Public – область действия в пределах приложения. Static – область действия в пределах конкретного модуля и внешних процедур, используемых в данном модуле. После завершения выполнения модуля значения этих переменных сохраняются и могут быть использованы при повторном выполнении модуля. Переменные и константы, в зависимости от области действия, подразделяются на глобальные и локальные. Если переменная или константа описана внутри процедуры, то она является локальной, то есть она определена и может использоваться только в пределах данной процедуры. Если переменная или константа описана вне процедуры, то она будет глобальной. Такая переменная или константа может быть использована в нескольких процедурах. Типизированные константы типа "массив" При описании константы типа "массив" компоненты каждой размерности массива заключаются в отдельные скобки и разделяются запятыми. Компоненты, расположенные в самых внутренних скобках соответствуют последней (самой правой) размерности массива. Примеры констант типа "массив": одномерный числовой массив const DigVector: array [1..7] of Real = (0.1, 3.25, 21.32, 55, 11.99, 78.1, 4.5); двумерный числовой массив const DigMatrix: array [1..3,1..2] of Integer = ((1,2), (3,4), (5,6)); В результате элементы матрицы DigMatrix получат такие значение DigMatrix[l,l] = 1; DigMatrix[1,2] = 2; DigMatrix[2,1] = 3; DigMatrix[2,2] = 4; DigMatrix[3,1] = 5; DigMatrix[3,2] = 6;
трехмерный числовой массив const Dig3D: array [1..4,1..3,1..2] of Byte = (((1,2),(1,2),(1,2)), ((1,2), (1,2), (1,2)), ((1,2), (1,2), (1,2)), ((1,2), (1,2), (1,2))); одномерный массив символов const CharVect1: array [1..6] of Char = ('P','A', 'S', 'C, 'A', 'L'); или более кратко CharVect2: array [1..6] of Char = 'PASCAL'; К оглавлению
Типизированные константы типа "множество" Синтаксис описания констант типа "множество" определяется следующими правилами. Каждый элемент константы типа "множество" может представлять собой либо отдельную константу соответствующего типа, либо интервал значений, состоящий из двух констант, разделенных символом.. (две точки). Примеры констант типа "множество": type Digits = set of 0..9; CharDig = set of '0'..'9'; const DigSetl: Digits = [0, 2, 4, 6, 8]; DigSet2: Digits = [1..3, 5..7]; CharDigSet1: CharDig = [ '0', '2', '4', '6', '8' ]; CharDigSet2: CharDig = ['0'..'3', '5'..'7']; CharSet: set of Char = ['a'..'z','A'..'Z'];
Типизированные константы типа "запись" В описании константы типа "запись" указываются как значения всех полей записи, так и их идентификаторы. В типизированных константах типа "запись" не допускаются поля файлового типа. В вариантных константах-записях допускается указание только того варианта полей, который соответствует установленной предварительно константе поля-признака. Поля указываются в том же порядке, в котором они следуют в описании типа. Примеры типизированных констант типа "запись". type Reс = record R: Real; В: Boolean; C: Char; end; ArrayOfRec = array [1..3] of Rec; RecOfArray = record ArrInt: array [1..3] of Integer; ArrChar: array [1..2] of Char; end; RecOfRec = record I: Integer; S: String; Z: Rec; end; const RecElem: Rec = (R: 3.1415; B: True; С: '*'); ArrRec: ArrayOfRec = ((R: 3.1415; B: True; C: '*'), (R: 0.0; B: False; C: '$'), (R: 6.2832; B: True; C: '&')); RecArr: RecOfArray = (Arrlnt: (1,2,3); ArrChar: (' 1', ' 2')); RecRec: RecOfRec = (I: 32767; S: 'PASCAL'; Z: (R: 3.1415; В: True; С: '*'));
|