Este documento explica el concepto de recursividad en funciones y provee un ejemplo de una función recursiva para calcular la suma de los cuadrados de los números enteros desde 1 hasta un número N dado. Explica que una función recursiva se define en términos de sí misma y que este enfoque puede dar soluciones más simples y elegantes para ciertos problemas. Luego presenta el código de una función recursiva que toma un número como entrada, calcula el cuadrado de ese número, y suma ese valor al resultado de llamar a la misma función con el número decrementado en 1, hasta al
2. concepto Se dice que una función es recursiva cuando se define en función de si misma. No todas la funciones pueden llamarse a si mismas, sino que deben estar diseñadas especialmente para que sean recursivas, de otro modo podrían conducir a bucles infinitos. Es la forma de llamar a una función dentro de la misma.
3. Recursiva y no recursiva “Una no recursiva”, a pesar de parecer más sencilla y más frecuente, no puede dar solución a todos los problemas. “Una recursiva”, da un programa más sencillo y más elegante. Además, hay muchos problemas cuya respuesta se plantea solamente de forma recursiva.
4. Ejemplo: #include<iostream.h>#include<conio.h>#include<math.h>//FUNCION VALIDAR NUMERO ENTERO POSITIVOintvalidarnumero (){int n;do{cout<<"Ingres numero entero :"; cin>>n;if (n<=0) cout<<"El numero debe ser entero mayor que cero "<<endl;}while(n<=0);return n;}//FUNCION RECURSIVA PARA CALCULAR LA SUMATORIA 1^2 + 2^2 + 3^2 + ... + N^2floatsumacuadrados (int n){float s=0;if(n==1) s=1; //CASO BASEelse s=pow(n,2)+sumacuadrados(n-1); // CASO GENERALreturn s;}
5. //FUNCION PRINCIPALvoidmain (){int n;clrscr();n=validarnumero();cout<<endl<<"La sumatoria de 1^2 + 2^2 + 3^2 + ... + N^2 cuando n es igual a "<<n<< " es :"<<endl<<endl<<"S="<<sumacuadrados(n);getch();}