From Free Pascal wiki
Revision as of 06:22, 25 January 2023 by Kai Burghardt (talk | contribs) (undo revision 025DCC by Paskal (talk): this content is rather presented on Continue and, by the way, the example is imaginably poorly designed)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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 statement is executed. This is the main difference to a repeat  until-loop, where the loop body is executed at any rate, but succeeding iterations do not necessarily happen, though.

The following example contains unreachable code:

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

You usually use while-loops where, in contrast to for-loops, a running index variable is not required, the statement 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).

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

see also

Keywords: begindoelseendforifrepeatthenuntilwhile