1 / 20

Algoritmo y Estructura de Datos I 2007 - I

Facultad de Ingeniería y Arquitectura. Algoritmo y Estructura de Datos I 2007 - I. Sesión 10. Ing. Juan José Montero Román. jmonteror@usmp.edu.pe. Re cu rs iv id ad. Ejercicio. Función recursiva para cálculo de factoriales. package domApli; import biblioteca.*;

niesha
Download Presentation

Algoritmo y Estructura de Datos I 2007 - I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Facultad de Ingeniería y Arquitectura Algoritmo y Estructura de Datos I 2007 - I Sesión 10 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe

  2. Recursividad Ejercicio Función recursiva para cálculo de factoriales.

  3. package domApli; import biblioteca.*; /* Función recursiva para cálculo de factoriales */ public class PrgRecurs01 { public int factorial(int n){ System.out.println("en metodo: "+n); if(n==1){ return 1; } else{ return n*factorial(n-1); } } public static void main ( String args[] ) { PrgRecurs01 obj = new PrgRecurs01(); int n=LE.leerInt("Ingrese Número: "); int x=obj.factorial(n); LE.mostrarResultado("El factorial de "+n+" es: "+x); } }

  4. Ejercicio Diseñe un programa que reciba un número de 1 dígito y retorne un número formado por los números comprendidos entre 1 y el número ingresado. Ejemplo: si número ingresado es :7 debe mostrar: 1234567

  5. package domApli; import biblioteca.*; /*Diseñe un programa que reciba un número de 1 dígito y * retorne un número formado por los números comprendidos * entre 1 y el número ingresado. Ejemplo: si número ingresado es :3 debe mostrar: 123*/ public class PrgRecurs02 { int numero; public void proceso ( ) { numero=LE.leerInt("Ingrese número"); LE.mostrarResultado("El número formado es:"+calcular(numero)); } public long calcular ( int numero) { System.out.println("en metodo: "+numero); if(numero>1) return numero+10*calcular(numero-1); else return 1; } public static void main ( String args[] ) { PrgRecurs02 obj = new PrgRecurs02(); obj.proceso( ); } }

  6. Ejercicio Diseñe un método recursivo que permita la potencia de un numero A elevado a B

  7. package domApli; import biblioteca.*; /*Diseñe un método recursivo que permita la potencia de un numero A elevado a B*/ public class PrgRecurs03 { public int potencia(int a, int b){ System.out.println("en metodo a: "+a+" b: "+b); if(b==0){ return 1; } else{ return a*potencia(a,b-1); } } public static void main ( String args[] ) { PrgRecurs03 obj = new PrgRecurs03(); int a=LE.leerInt("Ingresa Base"); int b=LE.leerInt("Ingresa Exponente"); int x=obj.potencia(a,b); LE.mostrarResultado(a+" elevado a la "+b+" es: "+x); } }

  8. Ejercicio Ingrese un número y muestre la suma de todos sus dígitos

  9. package domApli; import biblioteca.*; /*Ingrese un número y muestre la suma de todos sus dígitos.*/ public class PrgRecurs04 { public int sumaD(int n){ if(n==0){ return 0; } else{ return n%10+sumaD(n/10); } } public static void main ( String args[] ) { PrgRecurs04 obj = new PrgRecurs04(); int n=LE.leerInt("ingrese Número: "); int suma=obj.sumaD(n); LE.mostrarResultado("El calculo sale: "+suma); } }

  10. Ejercicio Implemente un método recursivo que, dado un numero entero, muestre por pantalla su valor en binario

  11. package domApli; import biblioteca.*; /*Implemente un método recursivo que, dado un numero entero, muestre por pantalla su valor en binario*/ public class PrgRecurs05 { public int sumaD(int n){ System.out.println("en metodo a: "+n); if(n==0){ return 0; } else{ return n%2+10*sumaD(n/2); } } public static void main ( String args[] ) { PrgRecurs05 obj = new PrgRecurs05(); int numero=LE.leerInt("Ingrese Número"); int suma=obj.sumaD(numero); LE.mostrarResultado("El calculo sale: "+suma); } }

  12. Ejercicio ingresar un nombre y mostrar al inicio las vocales de derecha a izquierda y las consonantes al final de izquierda a derecha, ejemplo ingresa: JUANJOSE sale: EOAUJNJS

  13. Ejercicio Implemente un método recursivo que, dado un nombre, lo devuelva al revés

  14. package domApli; import biblioteca.*; /*Implemente un método recursivo que, dado un nombre, lo devuelva al revés.*/ public class PrgRecurs08 { String enviar=""; public String password(String vnombre){ if (vnombre.length()==0){ return enviar; } else{ char letra=vnombre.toUpperCase().charAt(0); enviar=letra+enviar; return password(vnombre.substring(1,vnombre.length())); } } public static void main ( String args[] ) { PrgRecurs08 obj = new PrgRecurs08(); String nombre=LE.leerString("Ingrese Nombre :"); String vnombre=obj.password(nombre); LE.mostrarResultado("El calculo sale: "+vnombre); } }

  15. Ejercicio mostrar las vocales del nombre ingresado, pero al revés, ejemplo: ingresa: JUANJOSE sale: EOAU

  16. package domApli; import biblioteca.*; /*mostrar las vocales del nombre ingresado, pero al revés ejemplo ingresa:JUANJOSE sale:EOAU */ public class PrgRecurs07 { String enviar=""; public String password(String vnombre){ if (vnombre.length()==0){ return enviar; } else{ char letra=vnombre.toUpperCase().charAt(0); if(letra=='A' || letra=='E' || letra=='I' || letra=='O' || letra=='U'){ enviar=letra+enviar; } return password(vnombre.substring(1,vnombre.length())); } } public static void main ( String args[] ) { PrgRecurs07 obj = new PrgRecurs07(); String nombre=LE.leerString("Ingrese Nombre :"); String vnombre=obj.password(nombre); LE.mostrarResultado("El calculo sale: "+vnombre); } }

  17. Ejercicio ingresar un nombre y mostrar al inicio las vocales de derecha a izquierda y las consonantes al final de izquierda a derecha, ejemplo ingresa: JUANJOSE sale: EOAUJNJS

  18. package domApli; import biblioteca.*; /*ingresar un nombre y mostrar al inicio las vocales descendente y las consonantes al final en orden ascendente ejemplo ingresa: JUANJOSE sale: EOAUJNJS */ public class PrgRecurs09 { String enviar=""; public String password(String vnombre){ if (vnombre.length()==0){ return enviar; } else{ char letra=vnombre.toUpperCase().charAt(0); if(letra=='A' || letra=='E' || letra=='I' || letra=='O' || letra=='U'){ enviar=letra+enviar; } else{ enviar=enviar+letra; } return password(vnombre.substring(1,vnombre.length())); } } public static void main ( String args[] ) { PrgRecurs09 obj = new PrgRecurs09(); String nombre=LE.leerString("Ingrese Nombre :"); String vnombre=obj.password(nombre); LE.mostrarResultado("El calculo sale: "+vnombre); } }

  19. package domApli; import biblioteca.*; public class PrgPalindromo { public boolean esPalindromo(String texto){ if(texto.length()==0 || texto.length()==1) return true; else if(texto.charAt(0)==texto.charAt(texto.length()-1)) return esPalindromo(texto.substring(1,texto.length()-1)); else return false; } public static void main(String[] args) { PrgPalindromo obj=new PrgPalindromo(); String texto=LE.leerString("Ingrese Texto a Evaluar"); LE.mostrarInformacion(texto+" es palindromo: " + obj.esPalindromo(texto.toUpperCase())); } }

  20. package domApli; import biblioteca.*; public class PrgSubStr { public static void main(String[] args) { String texto; int tamaño; texto=LE.leerString("el texto es: "); tamaño=texto.length(); System.out.println(texto+" tamaño: "+tamaño); int n=LE.leerInt("cuanto se extrae"); texto=texto.substring(1,n); tamaño=texto.length(); System.out.println(texto+" tamaño: "+tamaño); } }

More Related