stringtranslate.com

Iteración

La iteración es la repetición de un proceso para generar una secuencia (posiblemente ilimitada) de resultados. Cada repetición del proceso es una única iteración, y el resultado de cada iteración es el punto de partida de la siguiente iteración.

En matemáticas e informática , la iteración (junto con la técnica relacionada de recursividad ) es un elemento estándar de los algoritmos .

Matemáticas

En matemáticas, iteración puede referirse al proceso de iterar una función , es decir, aplicar una función repetidamente, utilizando el resultado de una iteración como entrada para la siguiente. La iteración de funciones aparentemente simples puede producir comportamientos complejos y problemas difíciles; para ejemplos, consulte la conjetura de Collatz y las secuencias del malabarista .

Otro uso de la iteración en matemáticas son los 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 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.

Informática

En informática, la iteración es la técnica de marcar 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".

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 el inicio y el final a través de 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 ; {agregar el valor actual de i a un} final ; imprimir ( a ) ; { se imprime el número 6 (0 + 1; 1 + 2; 3 + 3) }                

Está permitido, y a menudo es necesario, utilizar valores de otras partes del programa fuera del bloque de declaraciones 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. Con el tiempo, 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 algún orden predefinido.

Los iterados son construcciones de lenguaje puramente funcionales, que aceptan o rechazan datos durante las iteraciones.

Relación con la recursividad

Las recursiones y las iteraciones tienen definiciones algorítmicas diferentes, aunque pueden generar efectos/resultados idénticos. La principal diferencia es que la recursividad se puede emplear como solución sin conocimiento previo de cuántas veces tendrá que repetirse la acción, mientras que una iteración exitosa requiere ese conocimiento previo.

Algunos tipos de lenguajes de programación, conocidos como lenguajes de programación funcionales , están diseñados de manera que no configuran un bloque de declaraciones para repetición explícita, como ocurre 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 en ejecución "divide" el trabajo a realizar en varias piezas separadas, después de lo cual el bloque de código se ejecuta solo en cada pieza individual. . Cada pieza de trabajo se dividirá repetidamente hasta que la "cantidad" de trabajo sea lo más pequeña posible, momento en el que el algoritmo hará ese trabajo muy rápidamente. Luego, el algoritmo "invierte" y vuelve a ensamblar las piezas en un todo completo.

El ejemplo clásico de recursividad son los algoritmos de clasificación de listas, como la clasificación por combinación . El algoritmo recursivo de clasificación por fusión primero dividirá repetidamente la lista en pares consecutivos; Luego se ordena cada par, 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 del encabezado anterior.

( dejar iterar (( i 1 ) ( a 0 )) ( if ( <= 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ñar o guiar a los estudiantes para que repitan experimentos, evaluaciones o proyectos, hasta que se encuentren resultados más precisos o hasta que el estudiante domine la habilidad técnica. Esta idea se encuentra en el viejo dicho: "La práctica hace la perfección". En particular, "iterativo" se define como el "proceso de aprendizaje y desarrollo que implica una investigación cíclica, 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).

Ver también

Referencias

  1. ^ Helen Timperley; Aarón Wilson; Heather Barrar; Irene Fung. "Aprendizaje y desarrollo profesional docente: mejor iteración de síntesis de evidencia [BES]" (PDF) . OCDE . pag. 238 . Consultado el 4 de abril de 2013 .