viernes, 21 de noviembre de 2014

Hola!. Chic@s que siguen el blog empezamos  programando programas fáciles ahora siguen un tema de un interés mayor que para aquellos que están en la unidad de RECURSIVIDAD les servirá, primeramente que es la RECURSIVIDAD:

RECURSIVIDAD:

La recursividad lo que nos proporciona es que cuando tenemos un problema a resolver muy complejo, la recursividad lo que hace es dividir ese problema complejo en varios subproblemas mas pequeños, dado que la recursividad solo es capaz de resolver las cosas mas simples. Y como lo dice recursivo es que sigue dividiendo ese problema que acaba de dividir en otro y así sucesivamente hasta llegar a la solución optima del problema.
Un método recursivo es aquel que se llama así mismo, bien directamente o bien indirectamente, através de otro método.
Un método que tiene sentencias entre las que se encuentra al menos una que llame al propio se dice que es recursivo.


1.-Calcular el factorial de un numero en forma recursiva.

IMPLEMENTACION EN JAVA-ECLIPSE
public class Factorial {
      public int Factorial(int n){
            int resultado;
            if(n==0)
                  resultado=1;
                  else
                        resultado=n*Factorial(n-1);
            return resultado;
      }
      public static void main(String[] args) {
            int n;
            Factorial objeto=new Factorial();
            Scanner entrada=new Scanner(System.in);
            System.out.println("Ingresa el numero a calcular factorial: ");
            n=entrada.nextInt();
            objeto.Factorial(n);
            System.out.print("EL FACTORIAL ES:"+objeto.Factorial(n));
      }

}

2.-Elaborar un programa utilizando un método recursivo que reciba 1 parámetro de tipo entero y luego llame en forma recursiva a la función. Imprimir en forma descendente los números del 5 al 1.

IMPLEMENTACION EN JAVA-ECLIPSE
public class Reves {

      public static void main(String[] args) {
            Reves objeto=new Reves();
            objeto.imprimir(5);
            }
            public static void imprimir(int n){
                  {
                        if(n>0){
                             System.out.print(" "+n+" ");
                        imprimir(n-1);
                  }
                        if(n>0)
                        {
                       
                             System.out.print("  "+n%10);
                        }
}     

      }

}


No hay comentarios:

Publicar un comentario