Está en la página 1de 4

ESCUELA SUPERIOR POLITECNICA DEL LITORAL

FACULTAD DE INGENIERIA EN ELECTRICIDAD Y COMPUTACION EXAMEN FINAL - PROGRAMACION ORIENTADA A OBJETOS II Trmino 2010, Febrero 2011 Nombre: Paralelo:

TEMA 1. (20 puntos) Considere una divisin de la Polica Nacional la cual est conformada por diversos agentes. La informacin relevante sobre los agentes consiste en un nmero, nombre y puesto. El nmero que se les asigna a los agente permite identificarlos de forma nica dentro de la divisin y este se genera cuando se registra el agente. Los agentes de la divisin pueden ser agentes de intervencin o agentes de trnsito. Los agentes de intervencin tienen una especialidad y una clasificacin. Los agentes de trnsito son aquellos que imponen multas a los conductores. La multa guarda informacin como valor y tipo. La divisin es capaz de responder los siguiente requerimientos: Valor de remuneracin mensual de un agente segn su puesto, Valor total de remuneracin para la divisin, Premio de remuneracin a otorgar a los agente y Registrar un nuevo agente. La remuneracin percibida por los agentes vara segn el tipo, la de los agentes de trnsito se base en la cantidad de multas otorgadas mientras que la de los agentes de intervencin se basa en el tiempo de permanencia en la institucin. Defina el diagrama de clases UML para el problema presentado, mostrando: a) Las clases requeridas para el sistema b) Las relaciones entre las clases c) Multiplicidad, atributos y mtodos

Elaborado por: Jorge Rodrguez E., Jorge Chicala

TEMA 2. (15 puntos) Conteste las siguientes preguntas de seleccin simple: 2.1. Para el siguiente cdigo en Java f.addActionListener(new A() { void actionPerformed(ActionEvent e) { System.out.println("yup"); }}); donde f es un Frame, cul de las siguientes alternativas debe ser correcta? a) A es una clase que implementa la interfaz ActionListener. b) A es una clase que implementa la interfaz MouseListener. c) A es una interfaz que hereda de la interfaz ActionListener. d) Ninguna de las anteriores 2.2. Cul de las siguientes alternativas es la correcta a) El BorderLayout es el layout por defecto para JFrame b) El Border Layout organiza los controles de derecha a izquierda y de arriba hacia abajo c) Todas las regiones del BorderLayout tienen el mismo tamao y forma d) El BorderLayout nos permite ubicar los controles en posiciones absolutas (x,y) 2.3. Dado public class Key(){ int id; } Un programador est desarrollando una clase Key, que ser usada como un key en un java.util.HashMap estndar. Cuale dos mtodos deben ser sobreescritos para asegurar que esta clase funcione correctamente como una key? a) public int hashCode() b) public key() c) public int compareTo(Object o) d) public boolean equals(Object o) 2.4. Dado Cul es el resultado? a) A, B, C b) B, C, A c) B, A, C d) Ninguna de las anteriores public static Collection get(){ Collection sorted = new LinkedList(); sorted.add(B); sorted.add(C); sorted.add(A); return sorted; } public static void main(String[] args){ for (Object obj : get()) { System.out.println(obj + , ); } }

2.5. Qu cdigo insertado en la lnea 4 del siguiente programa, garantizar el ordenamiento natural para una salida en pantalla [1,2] 1. Import java.util.*; 2.public class Example{ 3.public static void main(String[] args){ a) Set set = new TreeSet(); 4. // inserte codigo b) Set set = new HashSet(); 5. set.add(new Integer(2)); c) Set set = new SortedSet(); 6. set.add(new Integer(1)); d) List set = new SortedList(); 7. System.out.println(set); e) Set set = new LinkedHashSet(); 8. } 9. }

Elaborado por: Jorge Rodrguez E., Jorge Chicala

TEMA 3. (15 puntos) Una compaa de servicios de telecomunicaciones ha implementado la relacin entre sus clientes (Clase Cliente) y los servicios (Clase Servicio) que presta como una combinacin de Map y Set. Defina el mtodo bool elimarServicio( Map<Cliente, Set<Servicio>> clientes, string cedulaCliente, Servicio s), el cual elimina el servicio s de la lista de servicios del cliente, si el cliente se queda sin servicios ofrecidos por la empresa este pasa a un estado inactivo en el mapa. Asuma que la clase Cliente ya se encuentra implementada y que posee un mtodo getCedula y setEstado, de la misma manera la clase Servicio ya se encuentra implementada y posee una definicin para su mtodo equals.
Interface Map Void clear() boolean containsKey(Object key) boolean containsValue(Object value) Set entrySet() boolean equals(Object o) Object get(Object key) int hashCode() boolean isEmpty() Set keySet() Object put(Object key, Object value) void putAll(Map t) Object remove(Object key) int size() Collection values()

TEMA 4. (10 puntos) Para crear la siguiente interfaz agregue los controles y layouts en el orden correcto
import java.awt.*; import javax.swing.*; public class Ventana extends JFrame { public void addComponentsToPane(final Container pane) { JComboBox horGapComboBox = new JComboBox(new String[]{"0", "10", "15", "20"}); JComboBox verGapComboBox = new JComboBox(new String[]{"0", "10", "15", "20"}); final JPanel panelBotones = new JPanel(); panelBotones.setLayout( ); JPanel controles = new JPanel(); controles.setLayout( ); //Set up components preferred size Dimension buttonSize = new JButton("Just fake button").getPreferredSize(); panelBotones.setPreferredSize(new Dimension((int)(buttonSize.getWidth() * 2.5)+20, (int)(buttonSize.getHeight() * 3.5)+40)); //Agregar botones

//Agregar controles

//Agregar a la ventana

Elaborado por: Jorge Rodrguez E., Jorge Chicala


} }

TEMA 5. (40 puntos) Se solicita implementar un Address Book o Libreta de Direcciones/Contactos el mismo que debe constar de un ndice alfabtico para almacenar los nombre de los contactos. La informacin a almacenar ser: nombre, apellido, direccin, telfonos (que pueden ser de tipo convencional y celular, para lo cual se requiere tener un objeto Telefono). Los contactos no se deben repetir en ningn momento y esto debe ser validado por la aplicacin, en este caso se debe presentar un mensaje al usuario indicado que el contacto esta repetido e indicar que solamente puede ingresar los nmeros de telfono. Un contacto puede tener solamente un nmero de telfono de un tipo definido. a) Se requiere crear el GUI para el ingreso de los datos y que sean almacenados en algn tipo de estructura al presionar el botn Grabar. Recordar que la funcionalidad de esta libreta de direcciones es similar a un directorio/gua telefnica. b) Implementar el mtodo buscar (Collection c, String apellido, String nombre), el cual busque por el ndice el apellido y nombre de la persona y devuelva la informacin completa del contacto. JOptionPane.showMessageDialog(nul l,String,String, JOptionPane.INFORMATION_MESSAGE); JRadioButton JRadioButton(); JRadioButton(Icon icon) JRadioButton(String text); JRadioButton(String text,boolean selected); Boolan is Selected(); Set keySet(); Collection values() Map Object put(Object key, Object value); Object get(Object key); Boolean isEmpty(); Set Iterator iterator(); Boolean equals(Object o);

import javax.swing.*; import java.awt.*; public class Pantalla extends JFrame { public Pantalla() { super("Contactos");

.. setSize(300, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } public class Directorio { public static void main(String[] args) { Pantalla mf = new Pantalla(); mf.show(); } }

Elaborado por: Jorge Rodrguez E., Jorge Chicala