PackedConformantArraySchema = '(lacked" "array" "[" IndexTypeSpeciJicati' ll "J" "of" Typeldentifier. UnpackedConformantArraySchemo :: "array" "[" IndexTypeSpe( :,imtion {";" IndexTypeSpecification} "]" "of" (Type/dellt '!cr I ConformantArraySchema) , IndexTypeSpecification = Identifier ..... Identifier ":" OrdinalType/dentiJier . BoundldentiJier = Identifier. 

An index type specification int roduces the two identifiers as bound identifiers possessing the type denoted by the ordinal type identifier. The confonnant-array schema 

array[Lowl .. Highl: TI; Lo) .. High2: T2] of T 

is simply an abbreviation for 

array[Lowl .. Highl: TI] of Irray[Low2 .. High2: T2] of T Example of a conformant-array p.trameter: 

function Max (A: array [L .H: Integer] of Real; N: Integer): Real; {Return the maximum value·)f elements A [L] , ... , A [N] . } {Program derived from fun ion Max shown in 11.2.} var X: Real; I: Intege begin X:= A[L]; for I := succ(L) to N d, oegin X = Max ( A [L] , ... ,A [,1] ) if X < A[I] then X := ~I [] end; { X = Max ( A [ L] , ... , A [N I ) Max := X end { Max } ; 

11.3.1.2. Formal procedural .md functional parameters. A procedural parameter specification IIltroduces the procedure identifier with any associated fonnal param··ter list defined by the procedure heading. 

ProceduralParameterSpecification = l'n'('cilllreHeading . 

A functional parameter specification introduces the function identifier with the result type and any associated fonnal parameter list defined by the function heading. 

FunctionalParameterSpecification = FlIllctionHeading . 

