TEMA RECURSIVIDAD
TEMA: RECURSIVIDAD
RECURSIVIDAD: Se dice que una función es recursiva cuando puede llamarse a sí mismas directa o indirectamente. Un procesorecursivo tiene que tener una condición de finalización, ya que de lo contrario podría continuar infinitamente.
La recursividad directa es el proceso mediante el que una función se llama a sí misma desde elpropio cuerpo de la función, mientras que la recursividad indirecta implica más de una función.
Para comprender este concepto vamos a desarrollar un programa que permita calcular el factorial de unnúmero, implementando una función recursiva.
Nota: el factorial de un número entero (n!) se calcula de la siguiente manera: n! = n * (n-1) * (n-2) * ... * 2 * 1
PROGRAMA SIN FUNCIÓN
#include
using namespace std;
int main(){
int n;
do{
cout<<"Ingrese un número mayor o igual a cero: "; cin>>n;
}while(n<0);//validamos que el número ingresado no sea negativo
long fact= 1;//calculamos el factorial de un numero entero positivo porque si es cero factorial por defecto ya esta en 1
for(int x=1; x<=n; x++)
fact = fact * x; //calcula el factorialcout<<"Factorial: " <
return 0;
}
PROGRAMA CON FUNCIÓN ITERACTIVA (NO RECURSIVA)
#include
using namespace std;
long factorial(int n);
int main(){
int n;
do{cout<<"Ingrese un número mayor o igual a cero: "; cin>>n;
}while(n<0);//validamos que el numero ingresado no sea negativo
cout<<"Factorial de: " <
}
long factorial(int n){
long fact= 1; //calculamos el factoria de un numero entero positivo porque si es cero factorial por defecto ya esta en 1
for(int x=1; x<=n; x++)
fact =fact * x; //calcula el factorial
return fact;
}
PROGRAMA CON FUNCION RECURSIVA
#include
using namespace std;
long factorial(int n);
int main(){
int n;
system("cls");
do{...
Regístrate para leer el documento completo.