bachiller en ciencias
La recursividad son mecanismos de los lenguajes de programación para describir cálculos que se deben repetir. Una función recursiva es una función que se llama a sí mismadirecta o indirectamente. La recursividad o recursión directa es el proceso por el que una función se llama a sí misma desde el propio cuerpo de la función. La recursividad o recursión indirecta implicamás de una función. La recursividad indirecta implica, por ejemplo, la existencia de dos funciones: uno ( ) y dos ( ) . Suponga que en el cuerpo del programa ( ) se llama a uno ( ) , y a continuaciónuno ( ) llama a dos ( ) . En alguna parte del proceso, dos ( ) llama a uno ( ) -una segunda llamada a uno ( ) - . Esta acción es recursión indirecta, pero es recursiva, ya que uno ( ) ha sido llamadados veces, sin retornar nunca a su llamadora. Un proceso recursivo debe tener una condición de terminación, ya que si no puede continuar indefinidamente.
En clase Cuando se llama a una función, secrea un nuevo juego de variables locales, de este modo, si la función hace una llamada a si misma, se guardan sus variables y parámetros en la pila, y la nueva instancia de la función trabajará consu propia copia de las variables locales, cuando esta segunda instancia de la función retorna, recupera las variables y los parámetros de la pila y continua la ejecución en el punto en que había sidollamada.
Por ejemplo: 1. Calcular el Factorial de un número de forma recursiva (Directa)
Función recursiva para calcular el factorial de un número entero. El factorial se simboliza como n!, se leecomo "n factorial", y la definición es:
n! = n * (n-1) * (n-2) * ... * 1
No se puede calcular el factorial de números negativos, y el factorial de cero es 1, de modo que una función bien hecha paracálculo de factoriales debería incluir un control para esos casos:
/* Función recursiva para cálculo de factoriales */
int factorial(int n) {
if(n < 0) return 0;
else if(n > 1) return...
Regístrate para leer el documento completo.