Está en la página 1de 3

Universidad de San Carlos de Guatemala

Facultad de Ingeniería
Escuela de Ciencias y Sistemas
Introducción a la Programación y Computación 1

TAREA PRE-EXAMEN

1. Una empresa de recambios de piezas de coches necesita una aplicación para


gestionar sus ventas. Esta empresa compra las piezas a distintos proveedores para
después venderlas a los talleres. Cada pieza de recambio tiene un código que la
identifica y un único proveedor que puede proporcionarla. También tiene un precio de
compra al proveedor y un precio de venta a los talleres. Las operaciones que se
quieren hacer sobre la pieza son modificar los dos precios, comprarla y venderla.
Los proveedores con los que trabaja la empresa tienen datos de contacto como
teléfono, dirección, nombre del proveedor y CI (Código Identificación). La empresa
quiere poder dar de alta nuevos proveedores y obtener sus datos de contacto. Además,
la empresa quiere mantener la información de los talleres con los que trabaja: su
nombre, CI, teléfono y dirección. Quiere poder acceder a todos estos datos.

2. Un cine necesita una aplicación para la reserva de asientos en sus salas. Se trata de
un multicine que tiene 5 salas, pero se prevee que este número pueda crecer a lo largo
del tiempo. Cada sala tiene un número de asientos que se localizan por fila y dentro de
ésta, por número de asiento.
Cuando se quiere reservar un asiento se consulta el estado que tiene en ese momento.
Los posibles estados son: libre, reservado o pre-reservado. En el caso de que esté libre
se puede hacer una reserva o pre-reserva. En el caso de que esté en pre-reserva o
reservado ya no se pueden hacer operaciones sobre ese asiento. El estado de pre-
reserva es un estado intermedio desde que se selecciona un asiento hasta que se
confirma la reserva, momento en el que pasa a estar reservado.
Otras operaciones que se pueden hacer en la aplicación son:
Visualizar la sala al completo. Una vez se haya visualizado la posición de los asientos
en la sala se podrá seleccionar uno para hacer sobre él las operaciones de reserva y
eliminación/confirmación de reserva. Asignar la película que se proyecta en una
determinada sala. El precio es igual para todas las salas, pero se distingue entre dos
tipos de asientos: preferentes y no preferentes. La empresa también quiere poder
cambiar el precio de ambos tipos de asientos.

3 Dadas las siguientes entidades, construir un modelo UML de clases: el diseño


consiste en implementar una jerarquía de tipos de datos numéricos que extienda los
tipos de datos fundamentales tales como long y double. Así, las entidades son:

• Real: conjunto de números racionales e irracionales.


• Entero: puede ser positivo y negativo.

1
• Natural: conjunto de números enteros definidos en el siguiente rango
[0,1,2,…,+∞].
• Racional: se puede representar como fracción (numerador/denominador).
• Irracional: no se puede representar como fracción  e, √2, √5.
• Imaginario: conjunto de números imaginarios  Real * i, en donde i = √-1.
• Complejo: se define como un número Real + un número Imaginario.
• Vector: arreglo unidimensional de números complejos.
• Matriz: arreglo bidimensional de números complejos.

Observaciones:
• Es necesario indicar los atributos/propiedades de las clases: para el efecto, utilice
sólo datos de tipo long y/o double.
• No es necesario indicar las operaciones de todas las clases; sin embargo, sí se
recomienda dejar indicadas algunas (las que Ud. considere)
• Es necesario indicar las relaciones entre clases (si aplica): herencia, asociación y
agregación.

4. Elabore un diagrama de clases para el siguiente escenario: Una tienda especializada


en componentes electrónicos compra sus existencias a una serie de proveedores,
vendiéndolas posteriormente a sus clientes a la vez que lleva a cabo el control de
almacén adecuado para controlar sus existencias en todo momento.

La gestión de proveedores lleva unida la gestión de los datos administrativos de éstos


más la información de los componentes que cada proveedor sirve. La gestión de
proveedores, además del típico mantenimiento de los datos relacionados, se encarga
de generar los listados de las piezas servidas por un determinado proveedor, o los
proveedores que sirven una determinada pieza.

Cuando un cliente solicita un determinado componente, se comprueba que hay


existencias y se le informa de su precio. Si el cliente adquiere el producto, se
actualizará el almacén y se le emitirá una factura. Si no hay existencias del
componente, pero el cliente está interesado se procederá a almacenar la petición con
objeto de realizar el correspondiente pedido al proveedor.

El control de almacén se encarga de tener actualizado el almacén de existencias,


dando de alta los componentes que llegan, eliminando componentes defectuosos, y
realizando los listados de componentes disponibles en el almacén y de los
componentes pendientes de ser pedidos a un proveedor.

5. Desarrolle un diagrama de clases para el siguiente escenario: Un veterinario tiene


como pacientes animales y como clientes familias. Un cliente es un conjunto de
personas que suele corresponderse con una familia. Cada cliente tiene un código, el
primer apellido del cabeza de familia, un número de cuenta bancaria, una dirección, un
teléfono y los nombres y NIF de las personas correspondientes. No existe límite en el
número de personas asociadas a una entidad cliente. Además, una persona puede

2
estar dada de alta en varios clientes (por ejemplo, un hombre que vive con su esposa
tiene un gato y como tal pertenece a un cliente, pero también esta dado de alta en el
cliente asociado con el perro de sus padres).

Los clientes pueden tener varias mascotas, cada mascota tiene un código, un alias,
una especie, una raza, color de pelo, fecha de nacimiento aproximada, peso medio del
animal en las últimas 10 visitas y el peso actual del animal. Asimismo se guardará un
historial médico con cada enfermedad que tuvo y la fecha en la que enfermó.
Adicionalmente cada mascota tiene un calendario de vacunación, en el que se
registrará la fecha de cada vacuna, la enfermedad de la que se vacuna.

6. El dueño de un hotel le pide a usted desarrollar un programa para consultar sobre las
piezas disponibles y reservar piezas de su hotel, el cual debe representar por medio de
un diagrama de clases.

El hotel posee tres tipos de piezas: simple, doble y matrimonial, y dos tipos de clientes:
habituales y esporádicos. Una reservación almacena datos del cliente, de la pieza es
reservada, la fecha de comienzo y el número de días que será ocupada la pieza.

El recepcionista del hotel debe poder hacer la siguientes operaciones:


· Obtener un listado de las piezas disponible de acuerdo a su tipo
· Preguntar por el precio de una pieza de acuerdo a su tipo
· Preguntar por el descuento ofrecido a los clientes habituales
· Preguntar por el precio total para un cliente dado, especificando su numero
de RUT, tipo de pieza y número de noches.
· Dibujar en pantalla la foto de un pieza de acuerdo a su tipo
· Reservar una pieza especificando el número de la pieza, rut y nombre del
cliente.
· Eliminar una reserva especificando el número de la pieza

El administrador puede usar el programa para:


· Cambiar el precio de una pieza de acuerdo a su tipo
· Cambiar el valor del descuento ofrecido a los clientes habituales
· Calcular las ganancias que tendrán en un mes especificado (considere que
todos los meses tienen treinta días).

El hotel posee información sobre cuales clientes son habituales. Esta estructura puede
manejarla con un diccionario, cuya clave sea el número de RUT y como significado
tenga los datos personales del cliente.

7. Elabore un diagrama de clases para el siguiente escenario: Un alumno asiste cursos.


Los cursos están impartidos por un único profesor. El alumno no puede repetir el
mismo curso, pero puede asistir a más de un curso. El profesor puede impartir
diferentes cursos y repetir un mismo curso en varias ocasiones. Para que un curso se
imparta debe haber un mínimo de 10 alumnos y un máximo de 50. Como registro del
curso se guarda la fecha de comienzo, la fecha de finalización y la nota del alumno.

También podría gustarte