Escolar Documentos
Profissional Documentos
Cultura Documentos
Se pide (justificando tus decisiones): 1. Identificar los objetos (MAE y TAD), indicando cules son sus atributos (con su tipo) y las
operaciones esenciales para la resolucin de este ejercicio. Representar cada clase utilizando el formalismo UML.
2. Dibujar el diagrama UML reflejando las dependencias entre las clases. Aqu poned en las cajas
SOLAMENTE el nombre de la clase.
3. Elegir una de las MAE e implementar las operaciones que permiten su tratamiento como un
objeto nico. (NO hace falta que implementes las otras operaciones de la MAE).
4. Escribir la interfaz de operaciones para el mdulo que representa los artculos e implementar la
operacin actualizarExistencias que se ejecuta al final del da.
2. Ayuda a la redaccin I
Se quiere construir una herramienta muy "simple" que ayude a un escritor a mejorar la calidad "literaria" de un texto. Para ello se cuenta con una utilidad diccionario que permite conocer los sinnimos y antnimos de una palabra dada. Para cada entrada, el diccionario posee dos conjuntos de palabras (pudiendo stos ser vacos): los sinnimos de la entrada y los antnimos. La mejora del texto se realizar haciendo un recorrido secuencial del mismo, palabra a palabra. Cada una de ellas debe poder sustituirse por un sinnimo o antnimo. Para sustituir la palabra, se debern proveer las operaciones que seleccionan una palabra de un conjunto de palabras y que se utilizarn para obtener un sinnimo o un antnimo devuelto por las operaciones de consulta del diccionario. El texto es susceptible de ser presentado en pantalla y salvado tras realizar las modificaciones deseadas.
Se pide (justificando tus decisiones): 1. Identificar los objetos (MAE y TAD), indicando cules son sus atributos (con su tipo) y las
operaciones esenciales para la resolucin de este ejercicio. Representar cada clase utilizando el formalismo UML.
2. Dibujar el diagrama UML reflejando las dependencias entre las clases. Aqu poned en las cajas
1
PROGRAMACIN MODULAR
3. Elegir una de las MAE e implementar las operaciones que permiten su tratamiento como un
objeto nico. (NO hace falta que implementes las otras operaciones de la MAE).
4. Escribir la interfaz de operaciones para el mdulo que representa el diccionario y la clase que lo
implementa.
Se pide (justificando tus decisiones): 1. Identificar las nuevas operaciones necesarias para conseguir la funcionalidad descrita. 2. Ampliar el diagrama UML para que recoja los cambios realizados.
4. Cadena de montaje
Disear una aplicacin para organizar el Cuaderno de Carga de una mquina de una cadena de montaje durante un periodo semanal (188 horas) (la mquina debe permanecer en funcionamiento 24 horas al da). Para ello se cuenta con la siguiente informacin: A- Una Lista de Tareas a realizar por dicha mquina (ordenada por la fecha de demanda). Para cada tarea se dispone de los siguientes datos: Identificacin de la tarea Fecha de demanda Tiempo que precisa para su ejecucin (en horas) Prioridad: valor del 1 al 5 que representa la prioridad que hay que dar a dicha tarea. El valor 1 corresponde a las tareas de mayor prioridad Materiales que precisa: lista de materiales, donde para cada uno se indica su identificacin y cantidad necesaria. B- Una Lista de Materiales de almacn, donde para cada uno se indica su identificacin, cantidad existente en el almacn y su proveedor. Para obtener el Cuaderno de Carga semanal de la mquina se utilizan los criterios siguientes: las tareas se realizan por orden de prioridad, una tarea no puede estar retenida mas de un mes, slo estarn presentes aquellas tareas cuyos materiales estn en el almacn en cantidad suficiente, y no se superan el nmero de horas semanales.
Se pide (justificando tus decisiones): 3. Identificar los objetos (MAE y TAD), indicando cules son sus atributos (con su tipo) y las
operaciones esenciales para la resolucin de este ejercicio. Representar cada clase utilizando el formalismo UML.
4. Dibujar el diagrama UML reflejando las dependencias entre las clases. Aqu poned en las cajas
SOLAMENTE el nombre de la clase.
5. Elegir una de las MAE e implementar las operaciones que permiten su tratamiento como un
2
PROGRAMACIN MODULAR
objeto nico. (NO hace falta que implementes las otras operaciones de la MAE).
5. Euskal Bizikleta
Se quiere implementar una aplicacin para la gestin de resultados en la Euskal Bizikleta. En la carrera toman parte varios equipos. Un equipo est formado por un conjunto de corredores y se identifica por el nombre, la suma de los tiempos de carrera de todos los corredores y el patrocinador. Un corredor se describe con varios atributos como son: nombre, tiempo de carrera, dorsal y especialidad (velocista, escalador, ...). Por otra parte la carrera est organizada en etapas. Una etapa se caracteriza por su fecha, el origen y destino, el nmero de kilmetros, el tipo (montaa, contrarreloj, etc.) y la lista de registros de tiempo que almacena los resultados obtenidos por los corredores en la etapa. Un registro de tiempo recoge el tiempo empleado por un corredor en una etapa. Se pide:
1. Identificad los objetos (MAE y TAD) de la aplicacin. Representad por separado cada clase con
el formalismo UML indicando cules son sus atributos (con su tipo) y las operaciones esenciales para la resolucin de este ejercicio (ver punto 4).
2. Dibujar el diagrama UML con todas las clases e interfaces reflejando las relaciones entre ellas. Aqu poned en las clases/interfaces SOLAMENTE su nombre. 3. Elegid una de las MAE e implementad las operaciones que permiten su tratamiento como un
objeto nico. (NO hace falta que implementes las otras operaciones de la MAE). Escribe de qu forma se utiliza esa MAE desde otra clase.
4. Implementar en Java los mtodos para actualizar los tiempos de carrera de todos los
corredores y de sus equipos con los datos de una nueva etapa, asegurndose de que estn declaradas todas las operaciones necesarias.
PROGRAMACIN MODULAR
de pre-asignacin y lista de cdigos de pisos) y se actualiza la fecha de solicitud al da en curso (para dar las mismas oportunidades a todos los alumnos solicitantes). Se pide:
1. Identificad los objetos (MAE y TAD) de la aplicacin. Representad por separado cada interfaz y
clase con el formalismo UML indicando cules son sus atributos (con su tipo) y las operaciones esenciales para la resolucin de este ejercicio (ver punto 4).
2. Dibujar el diagrama UML con todas las clases e interfaces reflejando las relaciones entre ellas.
Aqu poned en las clases/interfaces SOLAMENTE su nombre.
3. Elegid una de las MAE e implementad las operaciones que permiten su tratamiento como un
objeto nico. (NO hace falta que implementes las otras operaciones de la MAE). Escribe de qu forma se utiliza esa MAE desde otra clase.
4. Al final del da se pone en marcha la aplicacin que realiza los siguientes procesos: pre-asignar
los pisos a las solicitudes, borrar los pisos que ya se han asignado definitivamente, modificar las fechas de los pisos que llevan pre-asignados sin xito una semana, incluir las nuevas ofertas de pisos y nuevas solicitudes. Se pide, implementar en Java el subprograma para pre-asignar los pisos a las solicitudes, asegurndose de que estn declaradas todas las operaciones necesarias.
7. Parking automtico
Para hacer frente a los problemas de aparcamiento en la ciudad, el ayuntamiento de Bilbao est construyendo un moderno parking automtico. Adems de la planta de entrada desde la que se controla todo el parking, dispondr de 3 plantas con un elevado nmero de plazas de aparcamiento. Una planta se identifica por un nmero, tiene una capacidad mxima y una lista ordenada de plazas que pueden estar libres o tener un coche aparcado. Cada plaza, por tanto, se identifica por nmero de planta y de plaza y puede tener dos estados (ocupada por un coche o libre). Adems, el parking cuenta con una serie de ascensores numerados cuyo suelo es una rampa mvil que se encarga de desplazar los vehculos para aparcarlos y desaparcarlos de la plaza correspondiente. Cada ascensor contiene informacin sobre su estado (ocupado o disponible) y la planta en la que se encuentra (un nmero de 0 a 3). Una aplicacin informtica controlar el estacionamiento y recogida automticos de los vehculos. Un coche se identifica por su matrcula. Cuando un usuario llega con intencin de estacionar su coche, el sistema comprueba si queda alguna plaza libre en el parking y busca un ascensor disponible desplazndolo hasta la planta de entrada. A continuacin informa al conductor sobre el nmero de ascensor al que debe dirigirse para colocar el coche en su interior. Una vez colocado el coche, el conductor lo abandona y el ascensor se desplaza hasta la planta adecuada. A continuacin su rampa se mueve para aparcar el coche en el hueco previamente localizado. Esta nueva situacin debe reflejarse en la plaza. Tras realizarse el aparcamiento, se genera un ticket con la informacin correspondiente a la matrcula del vehculo, la hora de llegada al parking, la planta y el identificador de la plaza en la que se ha aparcado, entregando una copia al conductor. El conjunto de los tickets emitidos para los coches que se encuentran en el parking permitir localizar los vehculos cuando se deseen desaparcar. De esta forma, cuando un conductor quiere recuperar su vehculo, el sistema utiliza esta informacin contenida en el ticket entregado en el aparcamiento. El sistema busca un ascensor libre, lo desplaza hasta la planta adecuada y mueve la rampa para ir a recoger el coche, introducindolo en el ascensor y llevndolo hasta la planta de entrada. As mismo, se le avisa al usuario del nmero de ascensor al que debe acudir. Como consecuencia borra el ticket de aparcamiento del vehculo recuperado y actualiza adecuadamente la plaza que ocupaba el coche.
4
PROGRAMACIN MODULAR
Se pide:
1. Identificad los objetos (MAE y TAD) de la aplicacin. Representad por separado cada interfaz
y clase con el formalismo UML indicando cules son sus atributos (con su tipo) y las operaciones esenciales para la resolucin de este ejercicio (ver punto 4).
2. Dibujar el diagrama UML con todas las clases e interfaces reflejando las relaciones entre ellas.
Aqu poned en las clases/interfaces SOLAMENTE su nombre.
3. Elegid una de las MAE e implementad las operaciones que permiten su tratamiento como un
objeto nico. (NO hace falta que implementes las otras operaciones de la MAE). Escribe de qu forma se utiliza esa MAE desde otra clase.
1. Identificar los objetos (MAE y TAD), indicando cules son sus atributos y las operaciones
esenciales para la resolucin de este ejercicio (ver punto 4).
2. Dibujar el diagrama UML correspondiente. 3. Elegir una de las MAE e implementar las operaciones que permiten su tratamiento como un
objeto nico.
4. Implementar en Java los mtodos necesarios para invadir una zona y que gestionan las
operaciones que modifican el estado de cada bando y del Reino despus de una batalla. Se deben declarar todas las operaciones que se utilicen, indicando la clase en la que deberan ir.
PROGRAMACIN MODULAR
9. Control de dietas
Se quiere realizar una aplicacin cuyo objetivo es el control de la dieta de una persona a lo largo de una semana; para ello se cuenta con el perfil de sus necesidades diarias y un registro de lo consumido a lo largo de la semana. El perfil de necesidades diarias es nico y se caracteriza por: el tipo de persona, la actividad que se adecua a dicho perfil y la lista de pares alimento-cantidad que constituyen la dieta diseada para dicha persona. El registro de lo consumido a lo largo de la semana est representado mediante una lista de pares da-plato (ser similar a una agenda en la que se van anotando cada plato consumido y el da en el que se ha consumido). Se cuenta adems con una lista de platos general en la que cada plato se caracterizar por su identificador, nombre, tiempo de preparacin y la lista de pares alimento-cantidad presentes en el plato. La aplicacin obtendr el registro de excesos diarios que ha cometido una persona en su dieta a lo largo de una semana. Un exceso se caracterizar por el da y una lista de pares alimento-cantidad en la que se representan los alimentos consumidos y la cantidad en la que se ha excedido en su consumo (los alimentos cuyo consumo sea menor o igual que el que figura en el perfil de necesidades no aparecern en esta lista). A partir del registro semanal de lo consumido y considerando su perfil de necesidades diarias se calcular el consumo diario total de cada alimento y se comparar con las necesidades diarias indicadas, obtenindose de esta comparacin la lista de aquellos alimentos cuyas cantidades consumidas son superiores a las necesarias.
Se pide: 1. Identificad los objetos (MAE y TAD) de la aplicacin. Representad por separado cada clase con
el formalismo UML indicando cules son sus atributos (con su tipo) y las operaciones esenciales para la resolucin de este ejercicio (ver punto 4).
2. Dibujar el diagrama UML con todas las clases reflejando las relaciones entre ellas. Aqu poned en las clases SOLAMENTE su nombre. 3. Elegid una de las MAE e implementad las operaciones que permiten su tratamiento como un objeto nico. (NO hace falta que implementes las otras operaciones de la MAE). Escribe de qu forma se utiliza esa MAE desde otra clase. 4. Implementar en Java el mtodo calcularExcesosSemanales que se ejecuta una vez a la semana y que crea la lista de excesos de la manera que se ha indicado anteriormente. Asegrate de que estn declaradas todas las operaciones necesarias.
PROGRAMACIN MODULAR
que se le asigna al alumno el proyecto por l elegido en primer lugar, si el proyecto no ha sido previamente asignado a otro alumno; si ya ha sido asignado previamente, se le intenta asignar al proyecto elegido por l en segundo lugar, y as sucesivamente hasta tratar toda su lista de preferencias. Se procede de la misma manera con todos los estudiantes.
Se pide (justificando tus decisiones): 1. Identificar los objetos (MAE y TAD), indicando cules son sus atributos (con su tipo) y las
operaciones esenciales para la resolucin de este ejercicio. Representar cada clase utilizando el formalismo UML.
2. Dibujar el diagrama UML reflejando las dependencias entre las clases. Aqu poned en las cajas
SOLAMENTE el nombre de la clase.
3. Escribir la interfaz de operaciones para el mdulo que implemente la empresa.. 4. Implementar los mtodos para obtener la siguiente informacin:
a. Relacin de las asignaciones de alumnos a proyectos. Cada elemento de esta relacin contendr la referencia al alumno, al proyecto y a la empresa que oferta dicho proyecto. b. Relacin de alumnos que no han sido asignados a ninguna empresa para los casos en los que en el proceso de asignacin se detecte que todos los proyectos sobre los que el alumno mostraba inters han sido previamente asignados.
Se pide (justificando tus decisiones): 1. Identificar los objetos (MAE y TAD), indicando cules son sus atributos (con su tipo) y las
operaciones esenciales para la resolucin de este ejercicio. Representar cada clase utilizando el formalismo UML.
2. Dibujar el diagrama UML reflejando las dependencias entre las clases. Aqu poned en las cajas
SOLAMENTE el nombre de la clase.
3. Implementar en Java la operacin prestarLibro. sta es una de las opciones del men
principal de la aplicacin. Implementar esta operacin implica comprobar que el libro se puede prestar, y que el socio no es moroso ni tiene en prstamo el nmero mximo de libros permitido. Como resultado habr que actualizar consecuentemente la informacin de la biblioteca (actualizar la relacin de ejemplares en prstamo del socio, la relacin de ejemplares prestados de la biblioteca, y el estado del libro en la biblioteca); el tiempo mximo de prstamo son 15
7
PROGRAMACIN MODULAR
das.
Se pide (justificando tus decisiones): 1. Identificar los objetos (MAE y TAD), indicando cules son sus atributos (con su tipo) y las
operaciones esenciales para la resolucin de este ejercicio. Representar cada clase utilizando el formalismo UML.
2. Dibujar el diagrama UML reflejando las dependencias entre las clases. Aqu poned en las cajas
SOLAMENTE el nombre de la clase.
3. Escribir la interfaz de operaciones para el mdulo que implemente el objeto vuelo. 4. Implementar el mtodo que permite hacer las reservas de pasajeros de los distintos vuelos.
PROGRAMACIN MODULAR
Se pide (justificando tus decisiones): 1. Identificar los objetos (MAE y TAD), indicando cules son sus atributos (con su tipo) y las
operaciones esenciales para la resolucin de este ejercicio. Representar cada clase utilizando el formalismo UML.
2. Dibujar el diagrama UML reflejando las dependencias entre las clases. Aqu poned en las cajas
SOLAMENTE el nombre de la clase.
Se pide (justificando tus decisiones): 1. Identificar los objetos (MAE y TAD), indicando cules son sus atributos (con su tipo) y las
operaciones esenciales para la resolucin de este ejercicio. Representar cada clase utilizando el formalismo UML.
2. Dibujar el diagrama UML reflejando las dependencias entre las clases. Aqu poned en las cajas
SOLAMENTE el nombre de la clase.
PROGRAMACIN MODULAR
Se pide (justificando tus decisiones): 1. Identificar los objetos (MAE y TAD), indicando cules son sus atributos (con su tipo) y las
operaciones esenciales para la resolucin de este ejercicio. Representar cada clase utilizando el formalismo UML.
2. Dibujar el diagrama UML reflejando las dependencias entre las clases. Aqu poned en las cajas
SOLAMENTE el nombre de la clase.
3. Escribir la interfaz de operaciones para el mdulo que implemente el objeto ListaSalas. 4. Implementar el mtodo gestionarEntradasSalidas que gestiona la peticin de un
alumno de entrar o salir del centro (proceso descrito en los prrafos anteriores). Se deben declarar todas las operaciones que se utilicen, indicando el mdulo en que deberan ir esas declaraciones.
PROGRAMACIN MODULAR
venta de sus productos. Para este proceso cuenta con: la lista de todos los artculos a subastar ordenada de forma creciente por fecha lmite, el registro de clientes, y la lista de las pujas efectuadas en el ltimo ao ordenada de forma decreciente por fecha y por cdigo de artculo. Para efectuar cualquier gestin es necesario registrarse como cliente suministrando los siguientes datos: e-mail, nombre y direccin fiscal.
SubItA funciona de la siguiente manera: el posible vendedor enva informacin del artculo que quiere subastar, indicando: su e-mail de contacto, un precio de salida mnimo, la descripcin del artculo y la fecha lmite hasta la que est dispuesto a esperar. La agencia, por su parte, publica en Internet el artculo y procede a la subasta; para ello aade a las propiedades del artculo citadas lo siguiente: un cdigo, la direccin web de la pgina que lo muestra en Internet, el nmero de ofertas recibidas (al principio ser 0), el valor de la puja ms alta hasta el momento (inicialmente 0.0) y el email de los tres ltimos pujadores.
Para pujar por un artculo hay que indicar: el cdigo del artculo, direccin e-mail, oferta econmica y nmero de tarjeta de crdito; la agencia completa esta informacin con la fecha actual. Slo se consideran las pujas que hacen, en cada momento, ofertas econmicas superiores a la de la puja ms alta almacenada en el artculo. En este caso se realiza el siguiente proceso: insercin de la puja en la lista de pujas anuales, actualizacin de la terna de pujadores del artculo incluyendo el email del nuevo pujador y eliminando el e-mail del ms antiguo, actualizacin de la puja ms alta del artculo e incremento del nmero de pujas. Adems, y como cortesa a sus clientes, se enva un correo electrnico al cliente que ha efectuado la puja indicndole que hasta ese momento es la puja ms alta recibida, y se enva otro mensaje al pujador anterior indicndole que su oferta ha sido superada. A las 24h de cada da se procede a efectuar el cierre de subasta de todos los artculos que han alcanzado su fecha lmite. Para cada uno de estos artculos el proceso consiste en lo siguiente: 1) Si el artculo ha tenido ofertas, se enva al ltimo pujador el mensaje de compra efectuada. En este mensaje se describir el artculo comprado, la cantidad ofertada y la tarjeta de crdito indicada por el pujador. 2) Si el artculo no recibi ninguna puja en el plazo lmite establecido, se enviar al vendedor un mensaje indicando la venta fallida del artculo descrito y su retirada de la subasta. 3) Se elimina el producto de la lista de artculos a subastar. Se pide: 1. Identificar los objetos (MAE y TAD) de la aplicacin. Representar por separado cada clase con el formalismo UML indicando cules son sus atributos (con su tipo) y las operaciones esenciales para conseguir el funcionamiento previamente descrito y resolver el punto 3 de este ejercicio. 2. Dibujad el diagrama UML con todas las clases reflejando las relaciones entre ellas. Aqu poned en las clases SOLAMENTE su nombre. 3. Implementad en JAVA el mtodo proceso24H, que actualiza la lista de objetos a subastar segn la descripcin indicada en el ltimo prrafo.
11
PROGRAMACIN MODULAR
La Lista de Proyectos Pendientes de Asignacin incluye los nuevos proyectos que todava no tienen grupo de desarrollo definido. Definir un grupo para un proyecto consiste en encontrar los empleados de la empresa adecuados segn su ocupacin, categora y el nmero necesario definidos en el proyecto. Una persona se puede asignar a un proyecto cuando corresponda con la categora requerida y no est ocupada en la fecha de comienzo del proyecto. La empresa tambin cuenta con la Lista de Grupos de Proyecto que registra todos los grupos asociados a los distintos proyectos en desarrollo; cada grupo de proyecto se describe con el cdigo del proyecto que desarrolla, su jefe de proyecto y equipo (lista de identificaciones de programadores). Como resultado del proceso de asignacin se eliminan de la Lista de Proyectos Pendientes de Asignacin aquellos que ya han conseguido grupo, y se dejan en ella los dems. Los empleados que sean asignados a algn proyecto vern su ocupacin modificada por lo que habr que actualizar la Lista de Personal; tambin habr que actualizar la Lista de Grupos de Proyecto con los nuevos proyectos asignados.
Se pide (justificando tus decisiones): 1. Identificar los objetos (MAE y TAD), indicando cules son sus atributos (con su tipo) y las
operaciones esenciales para la resolucin de este ejercicio. Representar cada clase utilizando el formalismo UML.
2. Dibujar el diagrama UML reflejando las dependencias entre las clases. Aqu poned en las cajas
SOLAMENTE el nombre de la clase.
PROGRAMACIN MODULAR
accesos diarios del ordenador y actualizando donde corresponda el nmero de horas de utilizacin acumuladas de cada usuario.
Nmero Conv 1 3
PROGRAMACIN MODULAR
...... 3456782344
.....
PF1 .....
1 1 1 ...... ......
Informacin de las asignaturas del plan nuevo y sus pre-requisitos. Para cada asignatura del plan se incluye su cdigo y nombre, y la relacin de todas sus asignaturas pre-requisito: Cod-Asig. ...... PB ED PM .......... SBC ..... TAIA Asignatura Programacin Bsica Estructuras de Datos Programacin Modular Sistemas Basados en el Conocimiento Tcnicas Avanzadas de IA Pre-requisitos
Informacin de los perfiles formativos. Cada perfil incluye: el nombre de la especialidad, su cdigo y el conjunto de asignaturas que lo forman. Perfil Formativo Cod Asignaturas ...... Inteligencia Artificial PF3 IA1, SBC, TAIA Ingeniera del Software PF2 PB, ED, PM, IS Arquitectura de Computadores PF4 ................ ............. Con esta informacin tenis que construir un programa AyudaMatrcula que utilizarn los alumnos para facilitar la eleccin de asignaturas durante el proceso de matrcula. El programa tendr las siguientes funciones. Por una parte, a partir del DNI del alumno: mostrar su expediente (asignaturas de las que se ha matriculado alguna vez con sus notas y convocatorias consumidas). Adems, aconsejar para su matriculacin: en primer lugar las asignaturas que consten como suspendidas en el expediente; en segundo lugar las asignaturas correspondientes a su perfil de las que no se haya matriculado nunca y que tengan cumplidos sus pre-requisitos. Si no tiene perfil definido, mostrar todas aquellas asignaturas cuyos pre-requisitos se cumplen segn el expediente.
Se pide (justificando tus decisiones): 1. Identificar los objetos (MAE y TAD), indicando cules son sus atributos (con su tipo) y las
operaciones esenciales para la resolucin de este ejercicio. Representar cada clase utilizando el formalismo UML.
2. Dibujar el diagrama UML reflejando las dependencias entre las clases. Aqu poned en las cajas
SOLAMENTE el nombre de la clase.
3. Elegir una de las MAE e implementar las operaciones que permiten su tratamiento como un
objeto nico. (NO hace falta que implementes las otras operaciones de la MAE).
14