Loops
Deutsch · English
A loop control structure repeats a statement as long as a certain condition is met.
properties
A loop is sectioned into a
- loop head, and a
- loop body.
The loop body is a statement, and the head (possibly implicitly) contains a Boolean expression that determines whether the loop body is executed (again). Every time the statements in the loop body are executed, an iteration occurs.
Loops are particularly useful as a programming construct, since the loop body is only inserted once in the final program. The so-called “loop unrolling” compiler optimization may copy the loop body multiple times anyway, but still you do not need to literally repeat the statements in your source code. Some processors perform particularly well (fast) if a repeating series of instructions occupies a quite small chunk of memory.
types
Pascal defines
- counting loops for … to|downto do
- conditional loops
- while … do, and
- repeat … until where the loop head appears at the tail.
The FPC also supports for … in … do loops, which are similar to counting loops.
If the loop body has a predictable number of iterations, the loop can be written with any loop type, but a counting loop is usually the most reasonable choice. Likewise, conditional loops are interchangeable, too, but in any given situation either one is more suitable.
comparative remarks
Unlike in some programming languages, in Pascal a loop itself is a statement; it does not yield a value. Also, a loop body does not create a new scope.
see also
From the Free Pascal wiki, page "Loops", as it stood on 2021-01-26 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
