Rutinas recursivas

Las rutinas recursivas son aquellas que hacen llamadas a sí mismas en su definición, simplificando los valores originales de entrada. Este tipo de rutinas se puede implementar en los casos en que el problema que se desea resolver puede simplificarse en versiones más pequeñas del mismo problema, hasta llegar a casos simples de fácil resolución.

Las rutinas recursivas regularmente contienen una cláusula condicional (SI) que permite diferenciar entre el caso base, situación final en que se regresa un valor como resultado de la rutina, o bien, un caso intermedio, que es cuando se invoca la rutina a sí misma con valores simplificados.

Es importante no confundir una rutina recursiva con una rutina cíclica, por ello se muestra a continuación el pseudocódigo genérico de una rutina recursiva:

< valor_retorno > Nombre_Función (< parametroa > [,< parametrob > …]) si < caso_base > entonces
retorna < valor_retorno >
si no
Nombre_Función ( < parametroa -1 > [, < parametrob -1 > …] )
finsi

Como se observa en el ejemplo, en esta rutina es obligatoria la existencia de un valor de retorno, una estructura condicional y, cuando menos, un parámetro.

Fuente: Apunte Análisis, diseño e implantación de algoritmos de la facultad de contaduría y administración, UNAM