lengths are most commonly used the length is implicitly specified by appending terminating character which does not otherwise occur usuallythe non-printing value (it is important for the subsequent applications that it be the least character in the character set the length is explicitly stored as the first element of the arrayi the string has the form sn- where sn- are the actual characters of the string and chr(nthis solution has the advantage that the length is directly availableand the disadvantage that the maximum length is limited to the size of the character setthat isto in the case of the ascii set for the subsequent search algorithmwe shall adhere to the first scheme string comparison then takes the form : while ( [ ( [iy[ ]do : + end the terminating character now functions as sentinelthe loop invariant is aj < xj yj xand the resulting condition is therefore ((xi xor (xi yi)(aj < xj yj xit establishes match between and yprovided that xi yiand it establishes yif xi yi we are now prepared to return to the task of table searching it calls for nested searchnamely search through the entries of the tableand for each entry sequence of comparisons between components for examplelet the table and the search argument be defined as tarray of stringxstring assuming that may be fairly large and that the table is alphabetically orderedwe shall use binary search using the algorithms for binary search and string comparison developed abovewe obtain the following program segment :- : :nwhile do :( +rdiv : while ( [ ( [ ,ix[ ]do : + endif [ ,ix[ithen : + else : end endif then : while ( [ ( [ ,ix[ ]do : + end end (( ( [ ,ix[ ]establish match*(adens *