procedure power (var wtexts writerninteger) (adens *(*compute decimal representation of negative powers of *var ikrintegerdarray of integerbegin for : to - do texts write( ") : for : to - do : * [ ] [ : div : mod texts write(wchr( [iord(" "))endd[ : texts write( " ")texts writeln(wend end power the resulting output text for is the record structure the most general method to obtain structured types is to join elements of arbitrary typesthat are possibly themselves structured typesinto compound examples from mathematics are complex numberscomposed of two real numbersand coordinates of pointscomposed of two or more numbers according to the dimensionality of the space spanned by the coordinate system an example from data processing is describing people by few relevant characteristicssuch as their first and last namestheir date of birthsexand marital status in mathematics such compound type is the cartesian product of its constituent types this stems from the fact that the set of values defined by this compound type consists of all possible combinations of valuestaken one from each set defined by each constituent type thusthe number of such combinationsalso called -tuplesis the product of the number of elements in each constituent setthat isthe cardinality of the compound type is the product of the cardinalities of the constituent types in data processingcomposite typessuch as descriptions of persons or objectsusually occur in files or data banks and record the relevant characteristics of person or object the word record has therefore become widely accepted to describe compound of data of this natureand we adopt this nomenclature in preference to the term cartesian product in generala record type with components of the types is defined as followstype record snt end card(tcard( card( card(tn