Java

Páginas: 4 (943 palabras) Publicado: 14 de diciembre de 2010
Recursividad
¿Puede llamarse una funci´n a si misma? SI, nada lo prohibe... o Veamos qu´ pasa si hacemos lo siguiente: e
class Ejemplo { public static void main(String[] args) { muestraMensaje(); }public static void muestraMensaje() { System.out.println("Hola!"); muestraMensaje(); } }

¿C´mo podemos hacer para que se llame solo una cantidad o fija de veces a la funci´n? o
Jorge P´rez e –Programaci´n Estructurada en JAVA o 1 / 14

Recursividad
Veamos qu´ pasa si hacemos lo siguiente: e
class Ejemplo { public static void main(String[] args) { muestraMensaje(0); } public static voidmuestraMensaje(int i) { if ( i < 3 ) { System.out.println("Hola!"); muestraMensaje(i + 1); } else { System.out.println("Chao!"); } } }

¿Cu´ntas veces se muestra el mensaje? a

Jorge P´rez e

–Programaci´n Estructurada en JAVA o

2 / 14

Recursividad
Podemos hacerlo al inverso tambi´n: e
class Ejemplo { public static void main(String[] args) { int n = In.readInt();muestraMensaje(n); } public static void muestraMensaje(int i) { if ( i > 0 ) { System.out.println("Hola!"); muestraMensaje(i - 1); } else { System.out.println("Chao!"); } } }

Ahora muestra el mensaje dependiendode lo que ingresa el usuario.
Jorge P´rez e – Programaci´n Estructurada en JAVA o 3 / 14

Recursividad
¿Qu´ hace el siguiente c´digo? e o
class Ejemplo { public static void main(String[] args) {int s, n; n = In.readInt(); s = sumatoria(n); System.out.println(s); } public static int sumatoria(int i) { int j; if ( i == 0 ) { return 0; } else { j = sumatoria(i - 1) + i; return j; } } }

JorgeP´rez e



Programaci´n Estructurada en JAVA o

4 / 14

Recursividad

La idea de recursividad en matem´ticas tiene que ver con a funciones que son definidas en t´rminos de s´ mismas. e ıPotencia
x0 xn = = 1 x · x n−1 ← caso base ← caso recursivo

Factorial
0! n! = = 1 n · (n − 1)! ← caso base ← caso recursivo

Veamos c´mo ser´ el c´digo en JAVA. o ıa o

Jorge P´rez e

–...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Java
  • Java
  • java
  • JAVA
  • java
  • java
  • javiera
  • Java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS