Procedural Programming Example
This function illustrates many of Analytica's key constructs for procedural programming. It computes the prime factors of an integer «x»:
Here's more detail on the numbered procedural features in this function:
VAR x := edefines a local identifier
xand sets its value to the result of evaluating expression
e. See Defining a Local Value.
- Expressions (statements) in a sequence should be separated by “;” (semicolons). The expressions can be on the same line, successive lines, or may be broken over multiple lines. Newlines are just for clarity and have no effect on the syntax. See Begin-End for Grouping Expressions.
test DO bodytests condition
est, and, if True, evaluates
Body, and repeats until
Testis False. See While(Test) Do Body.
- One way to group a sequence of expressions separated by semicolons “;” is to enclose them as
BEGIN e1; e2; … END— in this case as the body of a While loop. See Begin-End for Grouping Expressions.
- Another way to group a sequence of expressions is to enclose them between parentheses
(e1; e2; …)— in this case, as the action to be taken in the Then case. See Begin-End for Grouping Expressions.
x := eassigns the value of expression
eto a local value
xor, as in the first case, to a parameter of a function. See Assigning to a local value.
- The value returned from a sequence of expressions, in this case the Definition of the Function, is the value of the last expression. Here the function
Factorsreturns the final expression, which is simple the local value
- Defining a Local Value
- Assigning to a local value
- Begin-End for Grouping Expressions
- For and While Loops
- Function calls and parameters