Procedures and Functions



Procedures and Functions, and Scope





Java Methods



Java Methods



What's in a Name - Informally



Example Procedure and Function - Nested!



Order of Declarations: Define Before Use



Scope



Local and Global Variables



Global Variables



Java Locals and Globals



Functions and Strong Typing



Function Calls as Arguments



Expression Functions



Terminology Revisited



Parameter Modes





Parameter Modes and Java



Parameters Modes and Information Flow



Parameter Modes - In and Out Modes



Example with In Mode and Out Mode



Example with In Out Mode Parameters



Why Parameter Modes



Modes: Initialization, Constants, Modification



Parameter Modes Improve Error Detection



Parameter Mode vs Parameter Passing Mechanism



Procedure vs Function





Functions are Values; Procedures are Statements



Java and C Can Ignore Expression Results



Procedures or Functions: Which to use



Recursive Routines





Recursive Routines



Mutually Recursive Routines



Mutually Recursive Routines - Problem solved



Mutually Recursive Routines - Realistic Example



Global Variables - Why Not?



Modes Help Debugging, if no Global Variables



WARNING: Unitialized Variables