Looping with WHILE .. DO loops
Submitted by taoyue on Thu, 01/06/2011 - 20:54
The pretest loop has the following format:
     while BooleanExpression do
        statement;
        statement;
The loop continues to execute until the Boolean expression becomes FALSE. In the body of the loop, you must somehow affect the Boolean expression by changing one of the variables used in it. Otherwise, an infinite loop will result:
a := 5;
while a < 6 do
writeln (a);
while a < 6 do
writeln (a);
Remedy this situation by changing the variable's value:
a := 5;
while a < 6 do
begin
writeln (a);
a := a + 1
end;
while a < 6 do
begin
writeln (a);
a := a + 1
end;
The WHILE ... DO loop is called a pretest loop because the condition is tested before the body of the loop executes. So if the condition starts out as FALSE, the body of the while loop never executes.