5.2.2 Recursividad e iteración

Un proceso es recursivo si forma parte de si mismo o sea que se define en función de si mismo.

La recursion se lleva acabo en la vida diaria, en problemas matemáticos, en estructuras de datos y en otros problemas.

La recursion es un proceso extremadamente potente, así que se deberá analizar detenidamente para saber cuando y como aplicarla. Esto quiere decir que aunque un problema por definición sea recursivo, no siempre este será el método mas adecuado.

Antes de poner en marcha un proceso recursivo, es necesario demostrar que el nivel máximo de recursion, esto es el numero de veces que se va a llamar así mismo, es no solo finito, sino realmente pequeño. La razón es que necesita cierta cantidad de memoria para almacenar el estado del proceso cada vez que se abandona, temporalmente debido a una llamada para ejecutar un proceso que es el mismo.
Iteración en programación es la repetición de una serie de instrucciones. La recursividad es un ejemplo de iteración, pero usa una notación especial conocida cono notación recursiva que no es el caso de iteración. La iteración describe el estilo de programación usado en lenguajes de programación imperativa. Esto esta en contraposición de la recursividad, la cual resabe que tiene un enfoque mas declarativo.
var i, a := 0 // inicializo a antes de comenzar la iteración
for i from 1 to 3 { // ciclo 3 veces
a := a + i // incremento a con el valor actual de i
}
print a // se imprime el número