Articulo de referencia

Iteración

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

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

Una iteración de nueve mapeos de compresión aplicados a un sector hiperbólico

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

In some schools of pedagogy, iterations are used to describe the process of teaching or guiding students to repeat experiments, assessments, or projects, until more accurate results are found, or the student has mastered the technical skill. This idea is found in the old adage, "Practice makes perfect." In particular, "iterative" is defined as the "process of learning and development that involves cyclical inquiry, enabling multiple opportunities for people to revisit ideas and critically reflect on their implication."[1]

Unlike computing and math, educational iterations are not predetermined; instead, the task is repeated until success according to some external criteria (often a test) is achieved.

See also

References

  1. Helen Timperley; Aaron Wilson; Heather Barrar; Irene Fung. "Teacher Professional Learning and Development: Best Evidence Synthesis Iteration [BES]"(PDF). OECD. p. 238. Archived from the original(PDF) on 26 June 2013. Retrieved 4 April 2013.