Vota por nosotros en el ranking web que participamos

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Octubre 07, 2008, 09:19:04
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programacion para webmasters  |  Java - Java Script (Moderador: rOnNyLdInHo™)  |  Tema: Codigos Recursivos en Java 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Codigos Recursivos en Java  (Leído 365 veces)
[p3ll3]
Colaborador
*****
Desconectado Desconectado

Mensajes: 535


... Open your eyes , open your mind ...


Ver Perfil WWW
« en: Noviembre 27, 2007, 07:47:24 »

Codigos Recursivos en Java

>>Primero que todo hay que saber que es recursividad :

Segun wikipedia recursividad es:  la forma en la cual se especifica un proceso basado en su propia definición. Siendo un poco más precisos, y para evitar el aparente círculo sin fin en esta definición, las instancias complejas de un proceso se definen en términos de instancias más simples, estando las finales más simples definidas de forma explícita.

Bueno y hablando en castellano recursion seria un metodo que se llama a si mismo para resolver un problema, tiene uno o varios puntos base.
La recursion nos permite invocar a un metodo o a otro para resolver un problema.
Cuando un metodo llama a otro para resolverse se llama recursion indirecta.

Si quieren informacion especifica acerca de recursion consulten al

Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
oraculo
.

Aqui les dejo un codigo con dos ejemplos basicos acerca de que es recursion:

Código:

 import java.io.*;

public class Recursion{

   public static BufferedReader entrada=new BufferedReader(new InputStreamReader(System.in));

     public static void main(String[ ] args)throws IOException{
   
               Menu(); //    @ver >> metodo menu.

    }
   public static void Menu()throws IOException{

    System.out.println("\n"); 
    System.out.println("^_^_^_^_^_^_^_^_^_^_^_^_^_^_^");
    System.out.println(" 1- Factorial de un numero          ");
    System.out.println(" 2- Potencias                                  ");
    System.out.println("^_^_^_^_^_^_^_^_^_^_^_^_^_^_^");
    System.out.print("Opcion :  ");   

    int opc = Integer.parseInt(entrada.readLine());             

     Opciones( opc );  //    @ver >> metodo opciones

   }
   public static void Opciones (int o)throws IOException{

     switch( o ){

       case 1:   Factorial();
                 break;

       case 2:  Potencia();
                break;

       default:   System.exit(1);
                  break;
     }

   }
   public static void Factorial()throws IOException{

     System.out.print("Digite el numero al  que desea calcular su factorial: ");
      int n = Integer.parseInt(entrada.readLine());

        int r = factorial(n);
       System.out.println("El factorial de "+n+" es "+r);
       Menu();
   }
   public static int factorial(int n)throws IOException{

     if ( (n==0) || (n==1) ){

        return 1;

     } else{

            return n*factorial(n-1);

         }
   }
   public static void Potencia()throws IOException{

     System.out.print("Digite la base:  ");
      int b = Integer.parseInt(entrada.readLine());
     System.out.print("Digite el exponente:  ");
     int p = Integer.parseInt(entrada.readLine());

        int r = potencia(b,p);
       System.out.println("El resultado de elevar "+b+" al"+p+" es: "+r);
       Menu();
   }
   public static int potencia(int b,int p)throws IOException{

      if (p == 0){

          return 1;

      }
      if (p == 1){

         return b;
      }else{

           return b * potencia( b , p-1);
     
         }
   }


 }
 
 

Aqui les dejo algo de recursion indirecta para saber si un numero es par o impar :

Código:

import java.io.*;

public class RecursionIndirecta{

   public static BufferedReader entrada=new BufferedReader (new InputStreamReader(System.in));

   public static void main (String[ ]  args)throws IOException{

     System.out.println("\n");
     System.out.print("Digite el numero para saber si es par o impar: ");
     int n = Integer.parseInt(entrada.readLine());
     
     boolean EsPar = Es_par(n);

     if  (EsPar == true){

       System.out.println("\nEl numero "+n+" es par");

     }
     if (EsPar == false){

       System.out.println("\nEl numero "+n+" es impar");

     }
  }
  public static boolean Es_par(int n){

     if (n==0){

        return true;

     }else{

           return impar(n-1);

        }
   }
   public static boolean impar(int n ){

     if ( n==0 ){

          return false;

    }else{

        return Es_par(n-1);

      }

  }

}




Saludos................................ Cool
[p3ll3]
« Última modificación: Noviembre 27, 2007, 07:49:33 por [p3ll3] » En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion

Alesteir
Moderación
Gran Colaborador
*****
Conectado Conectado

Mensajes: 3217


Hellish world


Ver Perfil WWW
« Respuesta #1 en: Noviembre 28, 2007, 06:48:42 »

Excelente información, es bueno ver actividad en este subforo, gracias men!
En línea



Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programacion para webmasters  |  Java - Java Script (Moderador: rOnNyLdInHo™)  |  Tema: Codigos Recursivos en Java « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.6 | SMF © 2006-2007, Simple Machines LLC