Iteración. Concepto.
Del mismo modo que las estructuras condicionales vistas en las entradas anteriores nos permiten establecer itinerarios o bifurcaciones diferentes en un algoritmo en función del cumplimiento o no de una o varias condiciones, las estructuras denominadas normalmente bucles o ciclos, nos permiten establecer iteraciones de forma que se facilitan la estructuración del algoritmo, simplificando su elaboración y ejecución. Pero ¿qué es un bucle?, ¿qué significa iterar?. Vamos a tratar de estos conceptos en esta entra y en las siguientes.
La RAE define Iterar (del latín iterare) como sinónimo de repetir, derivando del verbo el sustantivo iteración (repetición) y el adjetivo iterativo/a.
Como sinónimos de tenemos los términos verbos repetir o el reiterar, entendidos ambos como volver a desarrollar (realizar) una acción o pronunciar de nuevo lo que ya se había dicho.
Pero es respecto al adjetivo derivado iterativo/va donde la RAE aporta mas significados:
- Que se repite o que indica repetición (reiterativo acentúa el carácter repetitivo de lo subyacente)
- Y un significado específico en el ámbito de las matemáticas, entendido como procedimiento o método que llega al resultado mediante aproximaciones sucesivas, partiendo de una estimación inicial. Estos métodos matemáticos resultan útiles para resolver problemas con infinidad de variables
Existe otro concepto matemáticos relacionado con la iteración: la función iterada, que es aquélla que se compone de sí misma. Como función compuesta se logra a partir de la aplicación sucesiva de otras funciones, lo que implica que la iteración de una función constituye la creación de una función compuesta a partir de la repetición de la propia función.
Aunque este campo conceptual se muestra muy prometedor, especialmente como conceptualización, aunque también como metodología de trabajo para abordar la resolución de problemas complejos, se encuentra relativamente alejado del uso que puede resultar de interés para nuestros objetivos concretos, y mucho más de mis capacidades de comprensión desde una perspectiva de funcionalidad.
No obstante, intuyo la posibilidad de que un análisis más informado de ciertas formas de expresar la asignación de variables esté más próxima de lo que puede parecer al concepto de iteración de una función. Además, el uso de la iteración para la creación y manipulación de sucesiones es mucho más funcional de lo que esta aproximación conceptual abstracta permite intuir, incluyendo su aplicación al trabajo con colecciones de datos. Aun así, y en todo caso, aun son meras intuiciones, por lo que es largo el camino que tendré que recorrer para poder expresarme con mayor propiedad y seguridad. En todo caso, estos conceptos parece ayudar más a la comprensión de productos y al tratamiento formal de los contenidos (las variables), que a las formas, formulaciones o estructuras que los hacen posible, cuestiones estas fundamentales desde la perspectiva de quien se inicia en la programación y en su lógica.
Por ello resulta de mayor utilidad inmediata y práctica para nuestros objetivos actuales la información que aportan los textos específicos sobre programación, ya que la RAE no contempla este campo específico (no al menos en la fuente consultada a la fecha 15/09/2022).
Esta fuente define las estructuras o sentencias iterativas como aquellas que permiten varias veces algunos segmentos del programa. Como se puede deducir, y de acuerdo con lo dije en la entrada anterior, iniciamos con ellas es aprendizaje de recursos de los lenguajes de programación orientados a facilitar el desarrollo del algoritmo y su funcionamiento, a la vez que a simplificar su formulación.
No obstante, desde el punto de vista de la lógica de programación, estas estructuras iterativas, también denominadas más comúnmente bucles o ciclos, presentan cierta complejidad en su formulación y uso, por lo que será conveniente comprender correctamente su lógica de funcionamiento para que el uso que hagamos de ellas sea correcto y realmente nos faciliten el trabajo.
Distinguimos con los anteriores autores dos tipos básicos de bucles:
- Los denominados deterministas, que son aquellos en los que conocemos a priori el número de repeticiones.
- Y los indeterministas, que yo me atrevo a llamar también condicionados, que son aquellos en los que desconocemos el número de repeticiones y éstas están condicionadas al cumplimiento de una determinada condición.
Iteración. Significado.
Definiciones. Iteración.
Definiciones. Bucle.
Apuntes de Informática. Departamento de Lenguajes y Ciencias de la Computación. Universidad de Málaga.