Clase 12 Recursion II
-
Upload
jose-paredes -
Category
Documents
-
view
4 -
download
0
description
Transcript of Clase 12 Recursion II
Sistemas III Clase XII –
Recursión II
Rubén Francisco Manrique
COD:180056
Números Triangulares
• Serie: 1, 3, 6, 10, 15, 21,…. • El nth termino de la serie se obtiene mediante la adición
de n al termino previo:
– Ej: El segundo termino de la serie se obtiene
sumándole 2 al primer termino (que es 1), dando
como resultado 3.
Estructuras de Datos: Rubén Francisco Manrique
2
Números Triangulares
Estructuras de Datos: Rubén Francisco Manrique
3
Encontrando el nth termino usando LOOPS
Estructuras de Datos: Rubén Francisco Manrique
4
int triangle(int n) {
int total = 0; while(n > 0) {
total = total + n; --n;
} return total;
}
Encontrando el nth termino usando Recursión
Estructuras de Datos: Rubén Francisco Manrique
5
int triangle(int n) {
if(n==1){ return 1; }else{ return( n + triangle(n-1) ); }
}
Laboratorio Recursividad
• Para el código de la derecha (caja gris) que emplea recursión cual es la salida en consola si se llama test(4)? (No ejecute el código)
• Ahora haga el análisis si se llama test(-4).
• Escriba un programa recursiva que imprima los números de 1…n de forma descendente mediante recursión.
Estructuras de Datos: Rubén Francisco Manrique
6
void test(int n) { if (n > 0) {
System.out.println(n); test(n-1); System.out.println(n);
} }
public void descendente(int n) { }
Laboratorio Recursividad
• Implemente la siguiente función recursiva:
– Haga el diagrama de recursión para x=13.
• Construya un programa recursivo que determine si un
número de entrada es primo o no.
– Haga el diagrama de recursión para n=10, con los
retornos de valores.
– Haga el diagrama de recursión para n=13.
Estructuras de Datos: Rubén Francisco Manrique
7