Iteración

De Wikipedia, la enciclopedia libre

Iteración significa repetir varias veces un proceso con la intención de alcanzar una meta deseada, objetivo o resultado.[1]​ Cada repetición del proceso también se le denomina una «iteración», y los resultados de una iteración se utilizan como punto de partida para la siguiente iteración.

Matemáticas[editar]

Un pentágono iterativo. Conectando esquinas alternas de un pentágono regular se produce un pentagrama que encierra un pequeño pentágono invertido. Iterando el proceso genera una secuencia de pentágonos y pentagramas anidados.

La iteración, en matemática, se refiere al proceso de iteración de una función, es decir, aplicando la función repetidamente, usando la salida de una iteración como la entrada a la siguiente. La iteración de funciones aparentemente simples pueden producir comportamientos complejos y problemas difíciles (por ejemplo, ver la conjetura de Collatz y las secuencias del malabarista).

Otro uso de la iteración en matemáticas es en métodos iterativos que se usan para producir soluciones numéricas aproximadas a ciertos problemas matemáticos. El método de Newton es un ejemplo de un método iterativo.

Programación[editar]

En programación, iteración es la repetición de un segmento de código dentro de un programa de computadora. Puede usarse tanto como un término genérico (como sinónimo de repetición) 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 acto de repetir dentro del estilo de programación imperativa. Esto está en contraposición de la recursión de funciones, la cual expresa repetición con un enfoque más declarativo.

He aquí un ejemplo de iteración basándose en asignación destructiva, en pseudocódigo imperativo:

 var 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 lenguajes 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.

;; sum : number -> number
;; to sum the first n natural numbers
(define (sum n)
  (if (and (integer? n) (> n 0))
      (let iter ([n n] [i 1])
        (if (= n 1)
            i
            (iter (- n 1) (+ n i))))
      ((assertion-violation 
       'sum "invalid argument" n))))

Un iterador es un objeto que engloba la iteración.

También, la iteración se realiza usando una hoja de cálculo, o mediante el uso de solucionadores o funciones predefinidas disponibles en Excel. Muchas ecuaciones implícitas, como por ejemplo la ecuación Colebrook, se pueden resolver en la comodidad de una hoja de cálculo, mediante el diseño de algoritmos adecuados de cálculo.[2]

Muchos de los problemas de ingeniería como la resolución de ecuaciones de Colebrook llegan a 8 dígitos de precisión con tan solo 12 repeticiones y es suficiente un máximo de 100 iteraciones para alcanzar un resultado preciso de 15 dígitos.[3]

Gestión de proyectos[editar]

Iteraciones en gestión de proyectos ágiles.

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[editar]

Referencias[editar]

  1. Definista. «¿Qué es Iteración? » Su Definición y Significado [2022]». Concepto de - Definición de. Consultado el 2 de agosto de 2022. 
  2. «Solve Implicit Equations Inside Your Worksheet». Archivado desde el original el 17 de agosto de 2009. 
  3. «Colebrook Equation». Archivado desde el original el 17 de octubre de 2020. Consultado el 5 de diciembre de 2012.