Download programación orientada a objetos

Document related concepts
no text concepts found
Transcript
PROGRAMACION ORIENTADA A OBJETOS
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctico N° 5
INTRODUCCION AL LENGUAJE JAVA
Ejercicio 1: La clase Random de Java permite crear objetos cuyo objetivo es la producción
de números al azar. Una vez creado el objeto azar con la siguiente sentencia:
Random azar=new Random();
se puede obtener un número entero n al azar invocando el servicio nextInt()
int n = azar.nextInt();
Escriba en Java una operación enteroAzar(), que devuelva un número entero cualquiera.
Ejercicio 2: Para cada uno de los siguientes ejercicios, construya una única clase que
contenga el servicio que se pide, y el procedimiento main que lo testee. Por ejemplo, para el
segundo inciso, el esquema general de la clase sería la siguiente:
public class TestFibonacci
{
public int Fib(int n)
{
// devuelve el enésimo número de Fibonacci
}
public static void main(String[] args)
{
// utiliza Fib(n) e imprime el resultado
}
}
Utilice la operación definida en el ejercicio 1 para la obtención de numeros enteros. Debe
definir una clase por inciso.
(a) Escriba un servicio que dados tres números enteros, devuelva el mayor de ellos.
(b) Escriba una función que dado un número entero n, devuelva el n-ésimo número de la
sucesión de Fibonacci.
(c) Escriba una función que dados dos números enteros n y m retorne verdadero si los
números están formados por los mismos dígitos, y falso en caso contrario.
(d) Escriba una función que dado un número entero n imprima en pantalla todos sus
divisores.
(e) Escriba una función que dado un número entero n, ordene sus dígitos de menor a mayor.
Obs: Usualmente es necesario agregar algunas instrucciones para que el programa realice
una espera con el objetivo de, por ejemplo, poder visualizar los resultados. En este caso
puede incluir un servicio esperar() con las siguientes instrucciones:
try { System.in.read(); }
catch (Exception e) {}
Ejercicio 3: Para cada uno de los siguientes incisos realice un proyecto en Java que incluya
las clases solicitadas, y una clase adicional que testee el funcionamiento.
(a) Implemente en Java un programa que permita utilizar un monedero como el definido en
el Práctico 2.
(b) Implemente en Java un programa que permita crear, trasladar, rotar y mostrar un punto
(no en forma gráfica, debe trabajar simplemente con las coordenadas).
(c) Implemente en Java un programa que permita crear, trasladar y rotar una línea.
(d) Implemente la clase Fracción con operaciones que permitan sumar, multiplicar, calcular
la diferencia y dividir dos fracciones. Además, incluya operaciones de relación, como
PROGRAMACION ORIENTADA A OBJETOS
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
menor, mayor, menor o igual, mayor o igual e igual. Agregue operaciones que devuelvan
el denominador y el numerador de la fracción.
Ejercicio 4: ¿Cuál es el propósito de declarar un atributo como privado (private) y declarar
un servicio que permita al público modificar ese atributo?. ¿No sería tan útil como declarar el
atributo como público (public)?
Ejercicio 5: Realice en Java un proyecto que permita ingresar los datos de un empleado
(nombre, legajo, documento de indentidad y fecha de nacimiento), y guardarlos en un
arreglo, utilizando la interfaz gráfica. En la ventana del formulario de ingreso debe ser
posible también la visualización de los datos de un empleado de acuerdo al número de
legajo.
Ejercicio 6: ¿Cómo es el ciclo de vida de un applet?. Implemente en Java un applet que
cuente las veces que pasó por cada uno de los estados posibles en su ciclo de vida.
Ejercicio 7: Transforme en un applet los incisos (a) y (d) del ejercicio 2.