upper  bound 
Syntax  upper ( reference [ , dimension ] ) : int

Description  The upper attribute is used to find the upper bound of an array, string, char(n) or nonopaque subrange type. (See lower for finding the lower bound.)

Example  In a procedure, see if the bound of array parameter a is large enough that it can be subscripted by i. If it is large enough, it is set a(i) to zero.
procedure test ( var a : array 1 .. * of real ) if i <= upper ( a ) then a ( i ) := 0.0 end if end test 
Details  In a similar way, if s is a string, its upper bound (not length!) is given by upper (s). If an array has more than one dimension, as in var b : array 1..10, 1 .. 60 of int, you must specify the dimension. For example, upper (b, 2) returns 60.
