Difference between revisions of "Procedural Programming Example"
(Local Variables --> Local Values (terminology change)) |
m (replaced screenshot and table by a screenshot with annotations) |
||
Line 6: | Line 6: | ||
:[[File:example1.png|400px]] | :[[File:example1.png|400px]] | ||
− | This | + | This function definition illustrates these features: |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
# <code>VAR x := e</code> defines a local identifier <code>x</code> that refers to the value obtained by evaluating <code>e</code>. See [[Local_Values#Defining_a_local_value|Defining a Local Value]]. | # <code>VAR x := e</code> defines a local identifier <code>x</code> that refers to the value obtained by evaluating <code>e</code>. See [[Local_Values#Defining_a_local_value|Defining a Local Value]]. | ||
Line 52: | Line 14: | ||
# <code>(e1; e2; …)</code> is another way to group expressions — in this case, as the action to be taken in the Then case. See [[Begin-End for Grouping Expressions]]. | # <code>(e1; e2; …)</code> is another way to group expressions — in this case, as the action to be taken in the Then case. See [[Begin-End for Grouping Expressions]]. | ||
# <code>x := e</code> assigns the value of expression <code>e</code> to a local value <code>x</code> or, as in the first case, to a parameter of a function. See [[Local_Values#Assigning_to_a_local_value|Assigning to a local value]]. | # <code>x := e</code> assigns the value of expression <code>e</code> to a local value <code>x</code> or, as in the first case, to a parameter of a function. See [[Local_Values#Assigning_to_a_local_value|Assigning to a local value]]. | ||
− | + | # The value returned from a group of expressions is the value of the last expression — here the function <code>Factors</code> returns the local value <code>result</code> — whether the group is between <code>Begin</code> and <code>End</code>, parentheses <code>(</code> and <code>)</code>, or, as here, not enclosed by anything. | |
− | # The value returned from a group of expressions is the value of the last expression — here the function <code>Factors</code> returns the local value <code>result</code> — whether the group is | ||
==See Also== | ==See Also== |
Revision as of 22:30, 13 August 2017
This function, Factors(x)
, computes the prime factors of an integer «x». It illustrates many of Analytica's key constructs for procedural programming:
This function definition illustrates these features:
VAR x := e
defines a local identifierx
that refers to the value obtained by evaluatinge
. See Defining a Local Value.- You can group several expressions (statements) into a definition by separating them using “;” (semicolons). Expressions can be on the same line or successive lines. See Begin-End for Grouping Expressions.
While test Do body
tests conditionTest
, and, if True, evaluatesBody
, and repeats until conditionTest
is False. See While(Test) Do Body.BEGIN e1; e2; … END
groups a sequence of expressions separated by semicolons “;” — in this case as the body of a While loop. See Begin-End for Grouping Expressions.(e1; e2; …)
is another way to group expressions — in this case, as the action to be taken in the Then case. See Begin-End for Grouping Expressions.x := e
assigns the value of expressione
to a local valuex
or, as in the first case, to a parameter of a function. See Assigning to a local value.- The value returned from a group of expressions is the value of the last expression — here the function
Factors
returns the local valueresult
— whether the group is betweenBegin
andEnd
, parentheses(
and)
, or, as here, not enclosed by anything.
See Also
- Defining a Local Value
- Assigning to a local value
- Begin-End for Grouping Expressions
- For and While Loops
- Function calls and parameters
Comments
Enable comment auto-refresher