jueves, 6 de mayo de 2010

Problemas de Recursion en java (02.07.02)

Realize los siguientes ejercicios aplicacion recursion
1 Maximo Comun Divisor
El máximo común divisor de dos números por el algoritmo de Euclides es:
mcd(a, b) = mcd(b, a) si a < b
mcd(a, b) = mcd(a - b, b) si a > b
mcd(a, b) = a si a = b
Cree un metodo para esta funcion

2 Función de Morris
Se define de la siguiente manera:
morris(m, n) = m + 1 si m = n
morris(m, n) = morris (n , morris ( n-1, m + 1) ) si m <> n
Cree un metodo para esta funcion

3 Función de Hermite
Se define de la siguiente manera:
hermite(x, n) = 1 si n = 0
hermite(x, n) = 2*x si n = 1
hermite(x, n) = 2*x*hermite(x, n-1) - 2*(n-1)*hermite(x, n-2) si n > 1
Cree un metodo para esta funcion

4. Sumandos
Implemente el método void descomposición Sumandos(int n) que muestre en la pantalla todas las formas posibles de descomponer el número n en sumandos. Por ejemplo, para n=5, el la pantalla se muestra:
1+1+1+1+1
2+1+1+1
1+2+1+1
3+1+1
1+1+2+1
2+2+1
1+3+1
4+1
1+1+1+2
2+1+2
1+2+2
3+2
1+1+3
2+3
1+4
5
Compartir:

Ejercicio sobre atributos en java (02.07.01)

1. Cree la clase Cliente con los atributos código, nombre, dirección, teléfono, encapsulados (métodos set y get).

2. Agregue a la clase Cliente el método toString que retorne todos los atributos de la clase Cliente.

3. Cree la clase Pelicula con los atributos privados código, titulo, tipo, precio de alquiler. Incluya el método toString, get y set.

4. Cree un programa como TacoraFilms.java y cree como objetos a dos clientes con datos de sus familiares. (cliente1 y cliente2)

5. Agregue al programa principal objetos de dos películas que haya visto recientemente. (pelicula1, pelicula2)

6. Al final del programa coloque lo siguiente:
System.out.println(cliente1.toString());
System.out.println(cliente2);
System.out.println(pelicula1.toString());
System.out.println(pelicula2);

Que muestra el programa?
Compartir:

Paso de variables a métodos en java (02.06.01)

1. Cuando el argumento es una primitva, se genera una copia de la variable para el método.
Laboratorio
TestPrimitivas.java
public class TestPrimitivas {


public static void main (String[] args)


{


int numero = 150;


unMetodo(numero);


System.out.println(numero);


}


private static void unMetodo(int numero) {


numero = 0;


System.out.println(numero);


}


}
Que valores muestra el programa anterior?

2. Cuando se pasa como argumento un objeto referencia, no se genera copia. El argumento referencia al objeto original.

Laboratorio
TestReferencias.java
public class TestReferencias {


public static void main (String[] args)


{


Pelicula pelicula1 = new Pelicula();


pelicula1.setTitulo("El Resplandor");


pelicula1.setTipo("Drama");


unMetodo(pelicula1);


System.out.println(pelicula1.getTipo());


}


public static void unMetodo(Pelicula referencia) {


referencia.setTipo("Terror");


}


}
Que muestra el programa?
Compartir:

Paquetes en java (02.05.04)

Un paquete es un contenedor (agrupador) de clases que estan relacionadas lógicamente.
Un paquete tiene sus clases en un mismo directorio
Varias clases pueden tener el mismo nombre pero en diferente paquete.

Para el problema de los alquileres se encuentran las clases: 

      Clase Pelicula 

      Clase Contrato 

      Clase Cliente 

Paquete:  

        pe.edu.univ


Clases:   

       alquiler.Película 

       alquiler.Contrato 

       alquiler.Cliente 

Directorio:  

      C:/pe/edu/univ/ 

Archivos en C:/ pe/edu/univ/ 

      Película.java 

      Contrato.java 

      Cliente.java 
Compartir:

Modificadores de acceso en java (02.05.03)

Java controla el acceso a las variables y métodos a través de modificadores de acceso como: private, public y protected
Un elemento publico puede invocarse en cualquier clase.
Un elemento sin modificador solo se puede invocar desde la misma clase.
Un elemento protegido solo se invocar en clases heredadas
Un elemento privado no puede ser invocado por otra clase.


Paquete alquiler

Paquete almacen



Frame5
Compartir:

Encapsulamiento en java (02.05.01)

1. Las variables de instancia de una clase deberían ser declaradas como privadas
Solo un método debería acceder a las variables privadas.
No se debe acceder a las variables de instancia directamente, sino a través de un método.
Pelicula pelicula1 = new Pelicula();
if (pelicula1.titulo.equals("Los doce del patibulo")) {

pelicula1.setTipo("Accion");


}
Cual de estas líneas no cumple con el encapsulamiento?

Código de una clase en java (02.05.02)
Laboratorio
Pelicula.java
public class Pelicula {


private String titulo;


private String tipo;


public void setTitulo (String nuevoTitulo) {


titulo = nuevoTitulo;


}


public void setTipo (String nuevoTipo) {


tipo = nuevoTipo;


}


public String getTitulo () {


return titulo;


}


public String getTipo () {


return tipo;


}


public String toString () {


return "titulo "+titulo+" tipo "+tipo;


}

}
Compartir: