SIDEFFEC Page 1 Line Stmt Level 4 1 0 Program sideffect; { * (output ) is implicit in Pascal/Z * } 5 1 0 6 1 0 var a, z : integer; 7 1 1 8 1 1 function sneaky( x : integer ) : integer; 9 1 1 begin 10 1 2 z := z - x; {side effect on z} 11 2 2 sneaky := sqr( x ); 12 3 2 end; { * sneaky * } 13 4 1 14 4 1 begin 15 4 1 z := 10; a := sneaky( z ); writeln( a, z ); 16 7 1 z := 10; a := sneaky( 10 ) * sneaky( z ); writeln( a, z ); 17 10 1 z := 10; a := sneaky( z ) * sneaky( 10 ); writeln( a, z ); 18 13 1 end.