Está en la página 1de 3

Centro Universitario de Ciencias Exactas e

Ingenierías

Seminario de Solución de Estructura de Datos.

Nombre: Lizette Magdalena Pedro Herrera.


Código de estudiante: 221349992.
Profesor: Julio Esteban Valdés López.
Recursión
Definición
Se dice que una función es recursiva cuando dentro de su bloque de sentencias
hay una llamada a la propia función.
En principio cualquier función puede hacerse una llamada a sí misma, sin embargo
tiene que estar especialmente diseñada para que funcione correctamente, ya que
al llamarse a sí misma provoca que esta se vuelva a ejecutar, y dentro de sus
instrucciones se vuelve a llamar, creando un bucle que si no está controlado se
vuelve infinito.
Por lo tanto, una función recursiva forma un bucle al ser llamada a sí misma. Este
bucle debe ser controlado de alguna manera para poder salir de él y no caer en
estructuras indeseadas como bucles infinitos o estructuras que se autorreplican
indefinidamente.

Ejemplo en C++
Calcular factorial:
La factorial de un número se define como la multiplicación de ese número por
todos los que son menores que él. Solo los números naturales (enteros positivos)
pueden tener factorial. Por ejemplo, la factorial de 4 se define como 4*3*2*1. La
factorial de 6 es 6*5*4*3*2*1.
Matemáticamente la operación factorial se define escribiendo un signo de
admiración detrás del número: 4! = 4*3*2*1.
Por lo tanto, los números negativos no tienen factorial, y además la factorial de
cero es 1.
Con todo esto vamos a hacer una función recursiva que calcule la factorial de un
número. El programa será el siguiente:

#include<iostream>
using namespace std;

int factorial(int n);

int main(){
int n, r;
cout << "FACTORIAL : Escribe un numero : ";
cin >> n;
r=factorial(n);
cout << n << "! = " << r << endl;
}

int factorial(int n) {
if(n < 0) return 0;
else if(n > 1) return n*factorial(n-1); // Recursividad: n>1
return 1; // Condición para n == 1 y n == 0
}

El programa calcula la factorial del número. Para números negativos devuelve el


cero. Para el 0 y el 1 devuelve el 1, y para los demás números positivos, mediante
la recursividad, vamos multiplicando cada número por el inmediatamente menor
que si mismo hasta llegar a uno, para devolver la factorial.

También podría gustarte