Está en la página 1de 5

UNIVERSIDAD NACIONAL DE

INGENIERIA

Facultad de Electrotecnia y Computacin


Ingeniera en Computacin

Algoritmizacion y Estructura de datos


Recursividad
Laboratorio #3

Elaborado por: Anibal Antonio Martnez Pineda 2013-61161.


Grupo: 2M1-CO.
Docente: Janine Mairena.

Managua, Nicaragua 28 de Octubre de 2014


Recursividad (Clase Practica N 3)
1. Ejercicio 1
import javax.swing.*;
public class Programa1
{
static int MAX=3;
public static void main(String args[])
{
int producto=1,i=0;
String salida="";
salida=calculo(i,producto,salida);
JOptionPane.showMessageDialog(null,"El resultado es: "+salida);
System.exit(0);
}
public static String calculo(int i,int producto,String sal)
{
int num;
if(i<MAX)
{
i++;
num=Integer.parseInt(JOptionPane.showInputDialog("Ingrese
el elemento "+i+" a multiplicar: "));
producto*=num;
sal+=num+ " ";
sal=calculo(i,producto,sal);
if(i==MAX){
sal+="\nProducto: "+producto;i=0;}
}
return sal;
}
}

2. Ejercicio 2

import javax.swing.JOptionPane;
public class Programa2
{
public static void main(String args[])
{
int num;
String salida="";
do{
num=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el
numero para calcular la Conjetura de ULAM: "));
}while(num<=1);
salida=conjetura(num,salida);

JOptionPane.showMessageDialog(null,"El Conjetura es:


"+salida);
System.exit(0);
}
public static String conjetura(int num,String salida)
{
if(num!=1)
{
salida+=num;
if(num%2==0)num=num/2;
else num=(num*3)+1;
salida=conjetura(num,salida+" ");
}
else
salida+=num;
return salida;
}
}

3. Ejercicio 3

import javax.swing.JOptionPane;
public class Programa3
{
public static void main(String args[])
{
String EX="";
EX=JOptionPane.showInputDialog("Ingrese la cadena:");
int LC=EX.length(),i=0,espacio=0;
String salida="";
espacio=calculo(LC,EX,i,espacio);
salida+="Tiene "+espacio+" espacios en blanco";
JOptionPane.showMessageDialog(null,"El resultado es:
"+salida);
System.exit(0);
}
public static int calculo(int lc,String ex,int i,int espacio)
{
String simb;
if(i<lc)
{
simb=ex.substring(i,i+1);
if (simb.compareTo(" ")==0)
espacio++;
i++;
espacio=calculo(lc,ex,i,espacio);
}
return espacio;
}
}

4. Ejercicio 4

import javax.swing.*;
public class Programa4
{
public static void main(String args[])
{
float pedro=1000,jorge=1500;
int aos=0;
String sal="";
aos=calculo(aos,pedro,jorge);
sal+=aos;
JOptionPane.showMessageDialog(null,sal);
}
public static int calculo(int aos,float pedro,float jorge)
{
if(pedro<jorge)
{
aos++;
pedro=(float)(pedro+(pedro*0.05));
jorge=(float)(jorge+(jorge*0.03));
aos=calculo(aos,pedro,jorge);
}
return aos;
}
}

5. Ejercicio 5

import javax.swing.JOptionPane;
public class Programa5
{
public static void main(String args[])
{
int suma=0,i=-1;
String salida="";
suma=calculo(i,suma);
salida+=suma;
JOptionPane.showMessageDialog(null,"Suma de cada tercer
entero, de i=2 a i<100: "+salida);
System.exit(0);
}
public static int calculo(int i,int suma)
{
if((i+3)<100)
{
i+=3;
suma+=i;
suma=calculo(i,suma);
}
return suma;
}
}

También podría gustarte