Iteración significa repetir un proceso para generar una secuencia (posiblemente ilimitada) de resultados. Cada repetición del proceso constituye una iteración, y el resultado de cada iteración es el punto de partida de la siguiente.
En matemáticas e informática , la iteración (junto con la técnica relacionada de la recursión ) es un elemento estándar de los algoritmos .
Matemáticas

En matemáticas, la iteración puede referirse al proceso de repetir una función , es decir, aplicarla varias veces, utilizando el resultado de una iteración como entrada para la siguiente. La iteración de funciones aparentemente simples puede generar comportamientos complejos y problemas difíciles; por ejemplo, véanse la conjetura de Collatz y las secuencias de malabaristas .
Otro uso de la iteración en matemáticas se encuentra en los métodos iterativos , que se utilizan para obtener soluciones numéricas aproximadas a ciertos problemas matemáticos. El método de Newton es un ejemplo de 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
En informática, la iteración es una técnica que consiste en repetir un bloque de instrucciones dentro de un programa informático un número determinado de veces. A ese bloque de instrucciones se le llama iteración . Un programador informático también podría referirse a ese bloque de instrucciones como una iteración .
Implementaciones
Los bucles constituyen las construcciones de lenguaje más comunes para realizar iteraciones. El siguiente pseudocódigo "itera" tres veces la línea de código entre begin y end mediante un bucle for , y utiliza los valores de i como incrementos.
a := 0 para i := 1 a 3 hacer { bucle tres veces } comenzar a := a + i ; { sumar el valor actual de i a } fin ; imprimir ( a ) ; { se imprime el número 6 (0 + 1; 1 + 2; 3 + 3) }Es permisible, y a menudo necesario, utilizar valores de otras partes del programa que se encuentran fuera del bloque de instrucciones entre corchetes, para realizar la función deseada.
Los iteradores constituyen construcciones de lenguaje alternativas a los bucles, que garantizan iteraciones consistentes sobre estructuras de datos específicas. Pueden ahorrar tiempo y esfuerzo en intentos de codificación posteriores. En particular, un iterador permite repetir el mismo tipo de operación en cada nodo de dicha estructura de datos, a menudo en un orden predefinido.
Los iteradores son construcciones de lenguaje puramente funcionales, que aceptan o rechazan datos durante las iteraciones.
Relación con la recursión
La recursión y la iteración tienen definiciones algorítmicas diferentes, aunque pueden generar resultados idénticos. La principal diferencia radica en que la recursión puede ser una solución sin necesidad de saber de antemano cuántas veces debe repetirse la acción, mientras que una iteración exitosa requiere ese conocimiento previo.
Algunos lenguajes de programación, conocidos como lenguajes de programación funcional , están diseñados para no establecer bloques de instrucciones para su repetición explícita, como en el caso del bucle `for` . En su lugar, estos lenguajes utilizan exclusivamente la recursión . En vez de llamar a un bloque de código para que se repita un número predefinido de veces, el bloque de código en ejecución divide el trabajo en varias partes, tras lo cual se ejecuta en cada una de ellas. Cada parte del trabajo se divide repetidamente hasta que la cantidad de trabajo sea mínima, momento en el que el algoritmo realiza el trabajo con gran rapidez. A continuación, el algoritmo invierte el proceso y vuelve a ensamblar las partes para formar un todo completo.
El ejemplo clásico de recursión se encuentra en los algoritmos de ordenación de listas, como el ordenamiento por fusión . El algoritmo recursivo de ordenamiento por fusión divide repetidamente la lista en pares consecutivos. Luego, ordena cada par, después cada par de pares consecutivo, y así sucesivamente hasta que los elementos de la lista estén en el orden deseado.
El código que aparece a continuación es un ejemplo de un algoritmo recursivo en el lenguaje de programación Scheme que produce el mismo resultado que el pseudocódigo que figura bajo el encabezado anterior.
( iterar (( i 1 ) ( a 0 )) ( si ( <= i 3 ) ( iterar ( + i 1 ) ( + a i ) ) ( mostrar a )))Educación
En algunas escuelas de pedagogía , las iteraciones se utilizan para describir el proceso de enseñanza o de guiar a los estudiantes para que repitan experimentos, evaluaciones o proyectos, hasta obtener resultados más precisos o hasta que el estudiante domine la habilidad técnica. Esta idea se encuentra en el antiguo refrán: «La práctica hace al maestro». En particular, «iterativo» se define como el «proceso de aprendizaje y desarrollo que implica una indagación cíclica, lo que permite múltiples oportunidades para que las personas revisen ideas y reflexionen críticamente sobre sus implicaciones». [ 1 ]
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 según algún criterio externo (a menudo una prueba).
Véase también
Referencias
- ↑ Helen Timperley ; Aaron Wilson; Heather Barrar; Irene Fung. "Aprendizaje y desarrollo profesional docente: Iteración de síntesis de mejores evidencias [ BES ] " (PDF) . OCDE . pág. 238. Archivado del original (PDF) el 26 de junio de 2013. Recuperado el 4 de abril de 2013 .
- Gestión del tiempo
- Fractales
- Modismos de programación
- Algoritmos
- Iteración en programación