POO EXAMEN FINAL - PROGRAMACION ORIENTADA A OBJETOS - FIEC ESPOL
Short Description
Descripción: POO EXAMEN FINAL - PROGRAMACION ORIENTADA A OBJETOS FACULTAD DE INGENIERIA EN ELECTRICIDAD Y COMPUTACION II...
Description
ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERIA EN ELECTRICIDAD Y COMPUTACION EXAMEN FINAL - PROGRAMACION ORIENTADA A OBJETOS II Término 2010, Febrero 2011 Nombre:
Paralelo:
TEMA 1. (20 puntos) Considere una división de la Policía Nacional la cual está conformada por diversos agentes. La información relevante sobre los agentes consiste en un número, nombre y puesto. El número que se les asigna a los agente permite identificarlos de forma única dentro de la división y este se genera cuando se registra el agente. Los agentes de la división pueden ser agentes de intervención o agentes de tránsito. Los agentes de intervención tienen una especialidad y una clasificación. Los agentes de tránsito son aquellos que imponen multas a los conductores. La multa guarda información como valor y tipo. La división es capaz de responder los siguiente requerimientos: Valor de remuneración mensual de un agente según su puesto, Valor total de remuneración para la división, Premio de remuneración a otorgar a los agente y Registrar un nuevo agente. La remuneración percibida por los agentes varía según el tipo, la de los agentes de tránsito se base en la cantidad de multas otorgadas mientras que la de los agentes de intervención se basa en el tiempo de permanencia en la institución. 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 métodos
Elaborado por: Jorge Rodríguez E., Jorge Chicala
TEMA 2. (15 puntos) Conteste las siguientes preguntas de selección simple: 2.1. Para el siguiente código en Java f.addActionListener(new A() { void actionPerformed(ActionEvent e) { System.out.println("yup"); }}); donde f es un Frame, cuál 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. Cuál 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 tamaño 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 estándar. Cuale dos métodos 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 Cuál 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é código insertado en la línea 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 Rodríguez E., Jorge Chicala
TEMA 3. (15 puntos) Una compañía de servicios de telecomunicaciones ha implementado la relación entre sus clientes (Clase Cliente) y los servicios (Clase Servicio) que presta como una combinación de Map y Set. Defina el método bool elimarServicio( Map 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 método getCedula y setEstado, de la misma manera la clase Servicio ya se encuentra implementada y posee una definición para su método 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 Rodríguez 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 alfabético para almacenar los nombre de los contactos. La información a almacenar será: nombre, apellido, dirección, teléfonos (que pueden ser de tipo convencional y celular, para lo cual se requiere tener un objeto Telefono). Los contactos no se deben repetir en ningún momento y esto debe ser validado por la aplicación, en este caso se debe presentar un mensaje al usuario indicado que el contacto esta repetido e indicar que solamente puede ingresar los números de teléfono. Un contacto puede tener solamente un número de teléfono de un tipo definido. a) Se requiere crear el GUI para el ingreso de los datos y que sean almacenados en algún tipo de estructura al presionar el botón Grabar. Recordar que la funcionalidad de esta libreta de direcciones es similar a un directorio/guía telefónica. b) Implementar el método buscar (Collection c, String apellido, String nombre), el cual busque por el índice el apellido y nombre de la persona y devuelva la información 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()
import javax.swing.*; import java.awt.*; public class Pantalla extends JFrame { public Pantalla() { super("Contactos");
Map Object put(Object key, Object value); Object get(Object key); Boolean isEmpty(); Set Iterator iterator(); Boolean equals(Object o);
…………………….. 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 Rodríguez E., Jorge Chicala
View more...
Comments