- Iteración
-
Iteración, en matemática, se refiere al proceso de iteración de una función o a las técnicas que se usan en métodos iterativos para la resolución de problemas numéricos.
- En programación, Iteración es la repetición de una serie de instrucciones en un programa de computadora. Puede usarse tanto como un término genérico (como sinónimo de repetición) así como para describir una forma específica de repetición con un estado mutable.
Cuando se usa en el primer sentido, la recursividad es un ejemplo de iteración, pero que usa su propia notación (notación recursiva), que no es el caso de iteración.
Sin embargo, cuando se usa en el segundo sentido (caso más restringido), la iteración describe el estilo de programación usado en lenguajes de programación imperativa. Esto está en contraposición de la recursividad, la cual tiene un enfoque más declarativo.
He aquí un ejemplo de iteración, en pseudocódigo imperativo:
var i=0, a := 0 // inicializo a antes de comenzar la iteración for i from 1 to 3 { // ciclo 3 veces a := a + i // incremento a con el valor actual de i print a // se imprime el número 6 }
En este fragmento de programa, el valor de la variable i cambia a medida que la ejecución del programa progresa, tomando los valores 1, 2 y 3. Este cambio de valor —o estado mutable— es característico de una iteración.
La iteración puede aproximarse por medio de técnicas recursivas en lenguages de programación funcional. El ejemplo que sigue está escrito en Scheme. Nótese que es un código recursivo (un caso especial de iteración), pues la definición de "cómo iterar", la función iter, se llama a sí misma de manera de solucionar la instancia del problema. Específicamente, usa recursión al final de la cola, la cual está presente en lenguajes como Scheme para que no se requiera usar grandes cantidades de espacio del stack.
(define (sum n) (define (iter n i) (if (= n 1) i (iter (- n 1)(+ n i)) )) (iter n 1))
Un iterador es un objeto que engloba la iteración.
Gestión de proyectos
Iteraciones en el contexto de un proyecto se refieren a la técnica de desarrollar y entregar componentes incrementales de funcionalidades de un negocio. Esto está comúnmente asociado al desarrollo ágil de software, pero podría referirse a cualquier material. Una iteración resulta en uno o más paquetes atómicos y completos del trabajo del proyecto que pueda realizar alguna función tangible del negocio. Múltiples iteraciones contribuyen a crear un producto completamente integrado. A esto se lo compara comúnmente con el enfoque de desarrollo en cascada.
Véase también
Wikimedia foundation. 2010.