Iteration statements repeat some processes during which
some inner Statements
are executed repeatedly
until the Condition
that limits the execution
cycle becomes false or they are executed for all values of the same data type.
Firstly, the Initialization is set up.
Secondly, the Condition
is evaluated and if its value is
true, the Statement
is executed.
Finally, the
Iteration
is made.
During the next cycle of the loop, the
Condition
is evaluated again and if it is true,
Statement
is executed and
Iteration
is made.
This way the process repeats
until the Condition
becomes false.
Then the loop is terminated and the process continues with the other part
of the program.
If the Condition
is false at the
beginning, the process jumps over the Statement
out of the loop.
for (Initialization;Condition;Iteration) Statement
Important | |
---|---|
Remember that the
|
Example 64.21. For loop
integer result = 1; integer limit = 5; for(integer i = 1; i <= limit; ++i) { result = result * i; }
Firstly, the Statement
is executed.
Secondly, the value of the Condition
is evaluated.
If its value is true, the Statement
is executed
again and then the Condition
is evaluated again
and the loop either continues (if it is true again) or stops
and jumps to the next or higher level subprocesses (if it is false).
Since the Condition
is at the end of
the loop, even if it is false at the beginning of the subprocess,
the Statement
is executed at least once.
do Statement while (Condition)
integer a = 5; integer sum = 0; do { sum = sum + a; a--; } while (a > 3);
The processing depends on the value of the Condition
.
If its value is true, the
Statements
is executed and then the
Condition
is evaluated again and the processing
either continues (if it is true again) or stops and jumps to the
statement following the cycle (if it is false).
Since the
Condition
is at the beginning of the loop, if it is
false before entrance to the loop, the
Statements
is not executed at all and the loop
is jumped over.
while (Condition) Statement
integer a = 5; integer sum = 0; while ( a > 3 ) { sum = sum + a; a--; }
The foreach
statement is executed on all fields of the same data type within a container. Its syntax is as follows:
foreach (<data type> myVariable : iterableVariable) Statement
All elements of the same data type (data type is declared in this statement) are searched in
the iterableVariable
container.
The iterableVariable
can be a list or a record.
For each variable of the same data type, specified Statement
is executed.
It can be either a simple statement or a block of statements.
Thus, for example, the same Statement
can be executed for all string
fields of a record, etc.
Note | |
---|---|
It is possible to iterate over values of a map
(i.e. not whole
map[string, integer] myMap; myMap["first"] = 1; myMap["second"] = 2; foreach(integer value: myMap) { printErr(value); // prints 1 and 2 }
To obtain map's keys as a |