334 Programming
Notes about using subroutines
At the end of a subroutine, execution returns to the calling program. To
exit a subroutine at any other time, use
Return with no argument.
A subroutine cannot access local variables declared in the calling
program. Likewise, the calling program cannot access local variables
declared in a subroutine.
Lbl commands are local to the programs in which they are located.
Therefore, a Goto command in the calling program cannot branch to a
label in a subroutine or vice versa.
Avoiding circular-definition errors
When evaluating a user-defined function or running a program, you can
specify an argument that includes the same variable that was used to
define the function or create the program. However, to avoid circular-
definition errors, you must assign a value for variables that are used in
evaluating the function or running the program. For example:
– or –
À Causes a Circular definition error message if x or i does not have a
value. The error does not occur if x or i has already been assigned a
value.
Controlling the flow of a function or program
When you run a program or evaluate a function, the program lines are
executed in sequential order. However, some commands alter the
program flow. For example:
• Control structures such as
If...EndIf commands use a conditional test
to decide which part of a program to execute.
• Loop commands such as For...EndFor repeat a group of commands.
x+1&x À
For i,i,10,1
Disp i
À
EndFor