Iteración
La iteración es la repetición de un proceso para generar una secuencia de resultados (posiblemente ilimitada). La secuencia se acercará a algún punto final o valor final. Cada repetición del proceso es una única iteración, y el resultado de cada iteración es entonces el punto de partida de la siguiente iteración.
En matemáticas e informática, la iteración (junto con la técnica de recursión relacionada ) es un elemento estándar de los algoritmos.
Matemáticas
La iteración en matemáticas puede referirse al proceso de iterar una función, es decir, aplicar una función repetidamente, utilizando la salida de una iteración como entrada a la siguiente. La iteración de funciones aparentemente simples puede producir comportamientos complejos y problemas difíciles;
Por ejemplo, vea la conjetura de Collatz y las secuencias de malabarista.
Otro uso de la iteración en matemáticas es en métodos iterativos que se utilizan para producir soluciones numéricas aproximadas a ciertos problemas matemáticos. El método de Newton es un ejemplo de un método iterativo. El cálculo manual de la raíz cuadrada de un número es un uso común y un ejemplo bien conocido.
Computación
La iteración en la informática es la técnica que marca un bloque de declaraciones dentro de un programa de computadora para un número definido de repeticiones. Se dice que ese bloque de declaraciones está iterado; un informático también podría referirse a ese bloque de declaraciones como una «iteración».
El pseudocódigo siguiente es un ejemplo de iteración; la línea de código entre los corchetes del bucle for «iterará» tres veces:
A = 0
Para i de 1 a 3 // bucle tres veces
A = a i // agrega el valor actual de i a un
Imprime a // se imprime el número 6 (0 1; 1 2; 3 3)
Es permisible, y a menudo necesario, usar valores de otras partes del programa fuera del bloque de sentencias entre corchetes, para realizar la función deseada. En el ejemplo anterior, la línea de código está utilizando el valor de i a medida que se incrementa.
Relación con la recursión
En situaciones algorítmicas, la recursión y la iteración pueden emplearse con el mismo efecto. La principal diferencia es que la recursión puede emplearse como una solución sin conocimiento previo de cuántas veces la acción tendrá que repetirse, mientras que una iteración exitosa requiere ese conocimiento previo.
Algunos tipos de lenguajes de programación, conocidos como lenguajes de programación funcional, están diseñados de tal manera que no configuran bloques de declaraciones para la repetición explícita como con el bucle for. En cambio, esos lenguajes de programación utilizan exclusivamente la recursividad.
En lugar de llamar a un bloque de código para que se repita un número predefinido de veces, el bloque de código de ejecución en su lugar «divide» el trabajo a realizar en un número de piezas separadas, después de lo cual el bloque de código se ejecuta en cada pieza individual. Cada pieza de trabajo se dividirá repetidamente hasta que la «cantidad» de trabajo sea lo más pequeña posible, en cuyo punto el algoritmo hará ese trabajo muy rápidamente.
El algoritmo luego «invierte» y vuelve a ensamblar las piezas en un todo completo.
El ejemplo clásico de recursión está en los algoritmos de ordenación de listas como la ordenación por fusión. El algoritmo recursivo Merge Sort dividirá primero la lista repetidamente en pares consecutivos; cada par se ordena, luego cada par de pares consecutivos, y así sucesivamente hasta que los elementos de la lista estén en el orden deseado.
El siguiente código es un ejemplo de un algoritmo recursivo en el lenguaje de programación Scheme que generará el mismo resultado que el pseudocódigo bajo el encabezado anterior.
Dejar iterar (( i 1 ) ( a 0 ))
If ( <= i 3 )
Iterar ( i 1 ) ( a i ))
Mostrar a )))
Otra terminología
En la programación orientada a objetos, un iterador es un objeto que garantiza que la iteración se ejecute de la misma manera para un rango de estructuras de datos diferentes, ahorrando tiempo y esfuerzo en intentos de codificación posteriores.
Un iterado es una abstracción que acepta o rechaza datos durante una iteración.
Educación
En algunas escuelas de pedagogía, las iteraciones se usan para describir el proceso de enseñar o guiar a los estudiantes a repetir experimentos, evaluaciones o proyectos, hasta que se encuentren resultados más precisos, o el estudiante haya dominado la habilidad técnica. Esta idea se encuentra en el viejo adagio, «La práctica hace la perfección».
En particular, «iterativo» se define como el «proceso de aprendizaje y desarrollo que involucra la investigación cíclica, permitiendo múltiples oportunidades para que las personas revisen ideas y reflexionen críticamente sobre sus implicaciones».
A diferencia de la informática y las matemáticas, las iteraciones educativas no están predeterminadas; en cambio, la tarea se repite hasta que se logra el éxito de acuerdo con algunos criterios externos (a menudo una prueba).
Referencias
Helen Timperley, Aaron Wilson, Heather Barrar e Irene Fung. «Aprendizaje y desarrollo profesional docente: mejor iteración de síntesis de evidencia» (PDF). OCDE. pags. 238. Consultado el 4 de abril de 2013.
Fuentes
- Fuente: www.oecd.org