Facultad de Ingeniería y Arquitectura
This presentation is the property of its rightful owner.
Sponsored Links
1 / 20

Algoritmo y Estructura de Datos I 2007 - I PowerPoint PPT Presentation


  • 68 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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.

[email protected]


Algoritmo y estructura de datos i 2007 i

Recursividad

Ejercicio

Función recursiva para cálculo de factoriales.


Algoritmo y estructura de datos i 2007 i

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);

}

}


Algoritmo y estructura de datos i 2007 i

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


Algoritmo y estructura de datos i 2007 i

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( );

}

}


Algoritmo y estructura de datos i 2007 i

Ejercicio

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


Algoritmo y estructura de datos i 2007 i

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);

}

}


Algoritmo y estructura de datos i 2007 i

Ejercicio

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


Algoritmo y estructura de datos i 2007 i

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);

}

}


Algoritmo y estructura de datos i 2007 i

Ejercicio

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


Algoritmo y estructura de datos i 2007 i

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);

}

}


Algoritmo y estructura de datos i 2007 i

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


Algoritmo y estructura de datos i 2007 i

Ejercicio

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


Algoritmo y estructura de datos i 2007 i

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);

}

}


Algoritmo y estructura de datos i 2007 i

Ejercicio

mostrar las vocales del nombre ingresado, pero al revés, ejemplo:

ingresa: JUANJOSE

sale: EOAU


Algoritmo y estructura de datos i 2007 i

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);

}

}


Algoritmo y estructura de datos i 2007 i

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


Algoritmo y estructura de datos i 2007 i

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);

}

}


Algoritmo y estructura de datos i 2007 i

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()));

}

}


Algoritmo y estructura de datos i 2007 i

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);

}

}


  • Login