Description
A control structure that is a general-purpose iteration statement used to execute a block of statements while or until a condition is true.
DO... LOOP has four formats:
-
DO WHILE
Executes a block of statements while the specified condition is true. The loop ends when the condition becomes false. If the condition is false on the first evaluation, the statement block does not execute.
-
LOOP UNTIL
Executes a block of statements at least once and continues until the specified condition is true.
-
LOOP WHILE
Executes a block of statements at least once and continues while the specified condition is true. The loop ends when the condition becomes false.
In all four formats of the DO...LOOP control structure, DO marks the beginning of the statement block that you want to repeat. The LOOP statement marks the end.
You can nest DO...LOOP control structures.
Syntax
DO UNTIL condition statementblock LOOP DO WHILE condition statementblock LOOP DO statementblock LOOP UNTIL condition DO statementblock LOOP WHILE condition
Parameter |
Description |
---|---|
condition |
The condition you are testing |
statementblock |
The block of statements you want to repeat |
Usage
Use DO WHILE or DO UNTIL when you want to execute a block of statements only if a condition is true (for WHILE) or false (for UNTIL). DO WHILE and DO UNTIL test the condition before executing the block of statements.
Use LOOP WHILE or LOOP UNTIL when you want to execute a block of statements at least once. LOOP WHILE and LOOP UNTIL test the condition after the block of statements has been executed.
Examples
DO UNTIL
The following DO UNTIL repeatedly executes the Beep function until A is greater than 15:
integer A = 1, B = 1 DO UNTIL A > 15 Beep(A) A = (A + 1) * B LOOP
DO WHILE
The following DO WHILE repeatedly executes the Beep function only while A is less than or equal to 15:
integer A = 1, B = 1 DO WHILE A <= 15 Beep(A) A = (A + 1) * B LOOP
LOOP UNTIL
The following LOOP UNTIL executes the Beep function and then continues to execute the function until A is greater than 1:
integer A = 1, B = 1 DO Beep(A) A = (A + 1) * B LOOP UNTIL A > 15
LOOP WHILE
The following LOOP WHILE repeatedly executes the Beep function while A is less than or equal to 15:
integer A = 1, B = 1 DO Beep(A) A = (A + 1) * B LOOP WHILE A <= 15