While

From Free Pascal wiki
Revision as of 15:49, 14 February 2018 by Kai Burghardt (talk | contribs) (highlight source code lines containing “while”)
Jump to navigationJump to search

Deutsch (de) English (en) suomi (fi) français (fr) русский (ru)

while in conjunction with do repeats a statement as long as a condition evaluates to true. The condition expression is evaluated prior each iteration, determining whether the following block (or single statement) is executed. This is the main difference to a repeat  until-loop, where the block is executed at any rate, but succeeding iterations do not necessarily happen, though.

The following example contains unreachable code:

0program whileFalse(input, output, stderr);
1
2begin
3	while false do
4	begin
5		writeLn('never gets printed');
6	end;
7end.

You usually use while-loops where, in contrast to for-loops, a running index variable is not required, the block executed can't be deduced from an index that's incremented by one, or to avoid a break-statement (which usually indicates bad programming style).

 0program whileDemo(input, output, stderr);
 1
 2var
 3	x: integer;
 4begin
 5	x := 1;
 6	
 7	// prints non-negative integer powers of two
 8	while x < high(x) div 2 do
 9	begin
10		writeLn(x);
11		inc(x, x); // x := x + x
12	end;
13end.

see also


Keywords: begindoelseendforifrepeatthenuntilwhile