the type of parameters is inferred all primitive language constructs are explicitly begun and ended if an algorithm has return type it will often be presented in the postconditionbut where the return type is sufficiently obvious it may be omitted for the sake of brevity most algorithms in this book require parametersand because we assign no explicit type to those parameters the type is inferred from the contexts in which it is usedand the operations performed upon it additionallythe name of the parameter usually acts as the biggest clue to its type for instance is pseudo-name for number and so you can assume unless otherwise stated that translates to an integer that has the same number of bits as word on bit machinesimilarly is pseudo-name for list where list is resizeable array ( vectorthe last major point of reference is that we always explicitly end language construct for instance if we wish to close the scope of for loop we will explicitly state end for rather than leaving the interpretation of when scopes are closed to the reader while implicit scope closure works well in simple codein complex cases it can lead to ambiguity the pseudocode style that we use within this book is rather straightforward all algorithms start with simple algorithm signaturee algorithm algorithmname(arg arg argn nend algorithmname immediately after the algorithm signature we list any pre or post conditions algorithm algorithmname( pren is the value to compute the factorial of >= postthe factorial of has been computed /nend algorithmname the example above describes an algorithm by the name of algorithmnamewhich takes single numeric parameter the pre and post conditions follow the algorithm signatureyou should always enforce the pre-conditions of an algorithm when porting them to your language of choice normally what is listed as pre-conidition is critical to the algorithms operation this may cover things like the actual parameter not being nullor that the collection passed in must contain at least items the post-condition mainly describes the effect of the algorithms operation an example of post-condition might be "the list has been sorted in ascending orderbecause everything we describe is language independent you will need to make your own mind up on how to best handle pre-conditions for examplein the ctarget we have implementedwe consider non-conformance to preconditions to be exceptional cases we provide message in the exception to tell the caller why the algorithm has failed to execute normally