126  Pascal User Manual  function Sneaky (X:  IntegE:):  Integer;  begin  Z  := Z - X {  side effec"  on Z };  Sneaky := Sqr(X)  end { Sneaky};  begin  Z  := 10;  A:= Sneaky(Z);  Write1n(Output,  A,  Z);  Z  := 10;  A:= Sneaky(10):  A:= A  *  Sneaky(Z);  Write1n(Output,  A,  Z);  Z  := 10;  A:= Sneaky(Z);  A:= A  *  Sneaky(10);  Write1n(Output,  A,  Z);  end { SideEffect  } .  Produces as results:  100  0  o  0  10000  -10  H.C. Forward Declarations  Procedure (function) identifiers may be used before the procedure  (function) declaration if there  i~,  a  forward declaration.  Forward  declarations are necessary to allow mutually recursive procedures and  functions that are not nested. The form is as follows: (Notice that the  parameter  list  and  result  type  ,Ire  written  only  in  the  forward  declaration. )  procedure Q(X:  T);  For,'rd;  procedure PlY:  T);  begin  Q(A)  end;  procedure Q;  { parameters and res  "I  types are not repeated}  begin  P(B)  end; 