Professional Documents
Culture Documents
Las estructuras iterativas, bucles o ciclos son un conjunto de instrucciones del programa que se ejecutan repetidamente un nmero determinado de veces, o bien mientras se cumpla una determinada condicin.
Todo bucle contiene:
Iniciacin de las variables referentes al bucle. Decisin (seguimos con el bucle o terminamos.) Cuerpo del bucle.
El bucle es una evolucin del cdigo ensamblador, donde la nica posibilidad de iterar (repetir) un cdigo era establecer una sentencia jump (que en los lenguajes de programacin fue sustituida por el "ir a" o GOTO).
La utilizacin de ciclos en un programa es esencial y el uso de ellos es realmente importante, ya que nos permite el ahorro de cdigo y hacer bloques de instrucciones mucho mas cortos y funcionales. Los bucles ms utilizados en programacin son el bucle while, el do-while, y el for.
Estructura do-while
do { accin; } while (condicin)
Estructura for
En la accin for, el contador y la sentencia que incrementa el contador son parte de la accin, y tiene la siguiente estructura:
Estructura for
for (inicio; condicin; incremento) { accin; }
Bucles anidados
Los bucles internos y externos no necesitan ser generados por el mismo tipo de estructura de control. Sin embargo, es esencial que: Un bucle se encuentre completamente incluido dentro del otro, adems, cada bucle ha de ser controlado por un ndice diferente. Bucle anidado usando for
for (inicio; condicin; incremento) { for (inicio; condicin; incremento) { accin; } }
Bucles anidados
En los bucles anidados, el bucle ms exterior es el que tienen el control, es decir, cuando deje de cumplirse la condicin del bucle exterior, no se ejecutar ms veces; si por el contrario, entramos dentro del bucle interior, en cada vuelta del exterior, se producirn sucesivas vueltas del bucle interior, hasta que nos salgamos de ste, cuando se produzca esto, el exterior podr dar su segunda vuelta (si se cumple su condicin).
Sentencia goto: La sentencia goto se utiliza para alterar la secuencia de ejecucin normal del programa, transfirindose el control a otra parte de l.
Estructura repeat-until
PUBLIC SUB Form_Open() DIM I AS Integer REPEAT PRINT Timer UNTIL Timer > 10 END
Se habla de recurrente o recursivo cuando un proceso es realizado un numero de veces indefinido, es decir la cantidad de veces que se repite el mismo proceso es desconocido, o puede ser infinito.
La recursividad es una alternativa diferente para implementar estructuras de repeticin (ciclos). Los mdulos se hacen llamadas recursivas (se implementa el mtodo dentro de si mismo).
Entonces, se dice que una funcin es recursiva cuando se define en funcin de si misma. Considerando que: No todas la funciones pueden llamarse a si mismas, sino que deben estar diseadas especialmente para que sean recursivas, de otro modo podran conducir a bucles infinitos, o a que el programa termine inadecuadamente. No todos los lenguajes de programacin permiten usar recursividad. La recursividad consume muchos recursos de memoria y tiempo de ejecucin, y se debe aplicar a funciones que realmente le saquen partido.
Ejemplo
Podramos crear una funcin recursiva para calcular el factorial de un nmero entero.
funcin factorial ( n ) { si (n = 0) { retornar 1; } si no { retorna n * factorial(n-1); } }