Iteration
:This article discusses a concept which is exploited in computer programming (but which originated before it). For use in the Japanese and Chinese languages see iteration mark.
Related Topics:
Computer programming - Iteration mark
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Iteration is the repetition of a process, typically within a computer program. It can be used both as a general term, synonymous with repetition, and to describe a specific form of repetition with a mutable state.
Related Topics:
Process - Computer program - Mutable
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
When used in the first sense, recursion is an example of iteration, but typically using a recursive notation, which is typically not the case for iteration.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
However, when used in the second (more restricted) sense, iteration describes the style of programming used in imperative programming languages. This contrasts with recursion, which has a more declarative approach.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Here an example of iteration, in imperative pseudocode:
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
var i, a := 0 // initialize a before iteration
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
for i from 1 to 3 { // loop three times
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
a := a + i // increment a by the current value of i
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
}
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
print a // the number 6 is printed
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
In this program fragment, the value of the variable i changes over time, taking the values 1, 2 and 3. This changing value—or mutable state—is characteristic of iteration.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Iteration can be done in functional programming languages. The following example is in Scheme:
Related Topics:
Functional programming language - Scheme
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
(define (sum n)
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
(define (iter i result)
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
(if (
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
(+ i (iter (+ i 1) result))
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
result))
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
(iter 0 0))
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
An iterator is an object that wraps iteration.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ Table of Content ~
| ► | Introduction |
| ► | See also |
~ What's Hot ~
~ Community ~
| ► | History Forum Come and discuss about History, Civilizations, Historical Events and Figures |
| ► | History Web-Ring A community of sites, blogs and forums dedicated to History. Do not hesitate to submit your site. |
and are licensed under the GNU Free Documentation License.
Lexicon - Privacy Policy - Spiritus-Temporis.com ©2005.
