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.