sexta-feira, 3 de fevereiro de 2017

Função recursiva em java

Entender recursão é fundamental aos programadores
de qualquer linguagem de programação.
Sabendo implementar recursão, o programador obtem
programas mais curtos, mais legível, e altamente eficiente.
Por trabalhar em alto desempenho, é provável que
um programa com recursividade venha consumir mais memória,
em relação a um equivalente sem recursão.
O que caracteriza uma função recursiva, é o fato dela
chamar-se a si mesma uma ou mais vêzes no seu próprio corpo.
Confira agora, um claro exemplo de função recursiva.

Veja abaixo uma imagem do programa em execução:


Veja abaixo o código do programa:



import java.util.Scanner;

public class PROJETO {
     private static int n_vzn ( int x, int y ) {
         if ( y == 0 )
              return 1;
         else
              return x * n_vzn ( x, y - 1 );
     }

     public static void main ( String [ ] args ) {
         J jht = new J ( );
         jht.title ( " " );
         jht.Moldura ( ( short ) 1, ( short ) 24, ( short ) 2, ( short ) 78 );
         Scanner scanner = new Scanner ( System.in );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( short ) 26, ( short ) 3 );
         System.out.printf ( "FUNÇÃO RECURSIVA EM JAVA" );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( short ) 26, ( short ) 5 );
         System.out.println ( "Informe um número: " );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( short ) 45, ( short ) 5 );
         int bas = scanner.nextInt ( );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( short ) 26, ( short ) 7 );
         System.out.println ( "Informe outro número: " );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( short ) 48, ( short ) 7 );
         int exp = scanner.nextInt ( );
         jht.gotoxy ( ( short ) 26, ( short ) 9 );
         jht.textcolor ( jht.LIGHTRED );
         System.out.printf ( "%d", bas );
         jht.textcolor ( jht.LIGHTBLUE );
         System.out.println ( " elevado a " );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( short ) 37, ( short ) 9 );
         System.out.printf ( " %d", exp );
         jht.textcolor ( jht.LIGHTBLUE );
         System.out.println ( " ==> " );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( short ) 44, ( short ) 9 );
         System.out.println ( n_vzn ( bas, exp ) );
         jht.Sleep ( ( short ) 1800 );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( short ) 30, ( short ) 20 );
         System.out.printf ( "Por: " );
         jht.textcolor ( jht.BLACK );
         System.out.printf ( "Samuel Lima" );
         jht.Sleep ( ( short ) 1800 );
         jht.gotoxy ( ( short ) 35, ( short ) 22 );
         jht.textcolor ( jht.LIGHTRED );
         System.out.printf ( "MUITO OBRIGADO" );
     }
}

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.