Guia Relaciones Clases
Guia Relaciones Clases
Guia Relaciones Clases
Guı́a de Ejercicios
9. Asociación En una Orden de Compra (Order) tiene un número que por lo general es
consecutivo, y es emitida para un Cliente (Customer). Tomando en cuenta el diseño de
la siguiente figura implementa un programa que permita al usuario emitir varias Ordenes
de Compra para un mismo Cliente.
CS1102 Guı́a de Ejercicios - Página 5 de 26 2022-II
10. Asociación De la imagen mostrada crear las clases Line y Telephone. Para cada clase
generar:
Contructores.
Setter y getter.
ImprimirDatos
Figure 1:
Implementar una clase y en el método main crear un objeto de Line y uno Telephone.
11. Asociación De la imagen mostrada crear las clases Customer y Order. Para cada clase
generar:
CS1102 Guı́a de Ejercicios - Página 6 de 26 2022-II
Contructores.
Setter y getter.
ImprimirDatos
Figure 2:
Implementar una clase y en el método main crear un objeto de Order y uno Customer.
13. Agregación Una persona recibe sus ingresos mensualmente, de cada ingreso se tiene
como datos el mes y monto. Los ingresos de la persona se almacenan en un vector de
punteros a objetos de la clase (CIngreso). Si la persona debe pagar un impuesto del
8 por ciento cada mes, se pide que escriba un programa que permita hallar el total de
impuesto que la persona debe pagar por año.
Se pide que Ud. implemente cada clase del diagrama y luego desde la función main()
registrar los datos de una persona y sus ingresos mensuales durante los doce meses del
año, para luego imprimir el monto total de impuesto a pagar por año.
Nota. El Atributo v de la clase CPersona es un vector de punteros a objetos de la clase
CIngreso.
14. Agregación Una persona realiza el registro de sus egresos mensualmente, de cada egreso
se tiene como datos el mes y monto. Los egresos de la persona se almacenan en un vector
de punteros a objetos de la clase (CEgreso).
CS1102 Guı́a de Ejercicios - Página 8 de 26 2022-II
Se pide que Ud. implemente cada clase del diagrama y luego desde la función main() se
pueda registrar los datos de una persona y sus egresos mensuales durante los doce meses
del año, para luego imprimir el monto total de egresos de la persona.
Nota. El Atributo v de la clase CPersona es un vector de punteros a objetos de la clase
CEgreso.
16. Agregación Un CCelular está conformado de CAplicaciones que pueden ser descarga-
dos desde las tiendas Play Store o AppStore. Tomando en cuenta el diseño de la siguiente
figura implementa un programa que permita al usuario crear un celular y descargar apli-
caciones DescargApp e imprima la cantidad y los nombres de dichas aplicaciones.
17. Agregación Una empresa de delivery tiene un conjunto de clientes. Los clientes de
la empresa se almacenan en un vector de punteros a objetos de la clase (Cliente). El
cliente tiene un domicilio asociado, entonces se quiere saber todos los clientes de la ciudad
de “Trujillo”. Para ello usted debe agregar la siguiente función en la clase Empresa:
vector<Cliente*>␣buscarPorCiudad(TipoString␣ciudad)
Además, debe implementar correctamente la clase Empresa y la clase Cliente. Note que
para la clase Empresa es necesario la función addCliente en ella usted debe validar
que no sea un cliente repetido (mismo DNI).
CS1102 Guı́a de Ejercicios - Página 10 de 26 2022-II
18. Agregación El siguiente diagrama representa una cuenta bancaria y sus transacciones
(deposit account t, transaction t). Implementar el modelo de clases en C++ y
realizar un programa que genere un cliente y que registre n transacciones, el pro-
grama debe emitir el saldo final (get local balance()), considerar que el importe local
(get local amount()) se obtiene multiplicando el amount x exchange.
19. Agregación El siguiente diagrama representa una cuerpo (body t) que cuenta con una
masa y esta regido por un valor de gravedad, adicionalmente fuerzas externas son ejerci-
das sobre él. (force t). Implementar el modelo de clases en C++ y realizar un programa
que genere un cuerpo con determinada masa y gravedad y que registre n fuerzas externas,
el programa debe mostrar la fuerza final ejercida sobre él (get force()), considerar que
la masa ejerce una fuerza en el eje y.
20. Agregación Un Departamento está conformado de profesores que llegan a ser miembros
del departamento. Tomando en cuenta el diseño de la siguiente figura se pide implemen-
tar un programa que permita al usuario crear departamentos y agregar profesores a
dichos departamentos.
CS1102 Guı́a de Ejercicios - Página 11 de 26 2022-II
21. Agregación Un equipo está conformado de personas que llegan a ser miembros del
equipo. Una persona puede ser un miembro de uno o más equipos. Tomando en cuenta
el diseño de la siguiente figura implementa un programa que permita al usuario crear
equipos y agregar a ciertas personas a más de un equipo.
22. Agregación Un equipo está conformado de personas que llegan a ser miembros del
equipo. Una persona puede ser un miembro de uno o más equipos. Tomando en cuenta
el diseño de la siguiente figura implementa un programa que permita al usuario crear
equipos y agregar a ciertas personas a más de un equipo.
CS1102 Guı́a de Ejercicios - Página 12 de 26 2022-II
Contructores.
Setter y getter.
ImprimirDatos
24. Agregación Una orden esta conformado por el detalle de las ordenes(OrderDetail). De
la imagen mostrada crear las clases Order y OrderDetail. Implementar un programa que
permita al usuario crear OrderDetails y agregarlos a la order.
Contructores.
Setter y getter.
ImprimirDatos
25. Agregación El siguiente diagrama representa una tren (train t) y pasajeros (passager t).
Implementar el modelo de clases en C++ y realizar un programa que genere un tren
y que registre n pasajeros, el programa debe emitir la cantidad de asientos disponibles
(get availability()), considerar que la disponibilidad se obtiene asientos - pasajeros.
CS1102 Guı́a de Ejercicios - Página 13 de 26 2022-II
26. Composición Un Hotel tiene habitaciones, los datos de las habitaciones se almacenan
en un vector de punteros a objetos de la clase CHabitacion. Se Pide realizar un programa
que permita crear para un hotel al menos 10 habitaciones y luego el programa permita
imprimir el número de habitaciones disponibles. Ud. debe implementar las clase CHotel
y CHabitacion y luego realizar lo solicitado.
27. Composición Un Hotel tiene habitaciones, que pueden ser de 3 tipos: 1) simple, 2)doble
y 3) Matrimonial. Los datos de las habitaciones se almacenan en un vector de punteros
a objetos de la clase CHabitacion. Se Pide realizar un programa que permita crear para
un hotel al menos 20 habitaciones y luego el programa permita imprimir el número de
habitaciones de cada tipo que tiene el hotel. Ud. debe implementar las clase CHotel y
CHabitacion y luego realizar lo solicitado.
CS1102 Guı́a de Ejercicios - Página 14 de 26 2022-II
29. Composición Los CAutomovil está compuesto por varios componentes CMotor, CTanque
y otros. Tomando en cuenta el diseño de la siguiente figura implementa un programa
que permita al usuario una instanciar de un CAutomovil y pueda Arrancar el automóvil
ArrancarAutomovil siempre y cuando el motor esté encendido. Adicionalmente imple-
mente los métodos ApagarAutomovil (solo se puede apagar si el motor está encendido)
y AvanzarAutomovil.
CS1102 Guı́a de Ejercicios - Página 15 de 26 2022-II
30. Composición Una empresa además de clientes también tiene empleados, los cuales
tienen asignado un sueldo mensual y una fecha de ingreso a la empresa. La empresa
tiene una politica de promoción de sus empleados, cada año incremente en 50% el sueldo
de sus empleados que ya cumplieron 5 años de antiguedad en la empresa. Para ello usted
debe agregar la siguiente función en la clase Empresa:
void promover(TipoNum anioActual)
Además, cuando una empresa quiebra, todos los empleados son despedidos (dejan de
ser empleados de la empresa). Plasme esto correctamente en el método destructor de la
clase Empresa.
slot (0, 0), 2 productos en slot (1, 1), 3 productos en slot (2, 2) y que verifique si slot
(2, 0) esta disponible.
32. Composición Como se observa en el diagrama, un bus bus t esta formado por asientos
seat t. Se solicita implementar el modelo de clases en C++ y realizar un programa
que genere un bus (4 filas y 3 letras por fila) y que se reserve los asientos 3A, 2C y que
verifique si el asiento 1A esta disponible.
33. Composición Los Anuncios que hacemos en Facebook y Twitter usualmente son co-
mentados por tus amigos. Tomando en cuenta el diseño de la siguiente figura implementa
un programa que permita al usuario crear Anuncios y comentarlos.
34. Composición Los Post que hacemos en Facebook y Twitter usualmente son comentados
por tus amigos. Tomando en cuenta el diseño de la siguiente figura implementa un
programa que permita al usuario crear Post y comentarlos.
CS1102 Guı́a de Ejercicios - Página 17 de 26 2022-II
35. Composición Los Post que hacemos en Facebook y Twitter usualmente son comentados
por tus amigos. Tomando en cuenta el diseño de la siguiente figura implementa un
programa que permita al usuario crear Post y comentarlos.
Contructores.
Setter y getter.
CS1102 Guı́a de Ejercicios - Página 18 de 26 2022-II
ImprimirDatos
37. Composición Las compañias tienen oficinas. Tomando en cuenta el diseño de la sigu-
iente figura implementa un programa que permita al usuario crear Company y Office.
Contructores.
Setter y getter.
ImprimirDatos
41. Herencia Dado el siguiente diagrama, implemente un programa que permita al usuario
crear una instancia de CEmpleado y CAdministrativo e imprimir sus datos a través del
método. ( mostrarDatos).
42. Herencia LosVehı́culos pueden ser dos tipos: Taxi o Microbus. Tomando como refer-
CS1102 Guı́a de Ejercicios - Página 21 de 26 2022-II
43. Herencia La clase Cliente y la clase Empleado comparten ciertos atributos en común,
por lo que pueden ser abstraidos en la superclase Persona. Tomando en cuenta el
diseño correcta de dicha herencia en C++, se le pide realizar un programa que permita
instanciar un objeto de la clase Cliente y un objeto de la clase Empleado, ejecutar la
función mostrar y luego imprimir el resultado. La clase Persona debe ser abstracta (no
admite instancias). El Cliente puede ser instanciado a partir de un objeto Empleado,
para ello diseñe un constructor copia en Cliente:
Cliente(const Empleado &empleado)
CS1102 Guı́a de Ejercicios - Página 22 de 26 2022-II
44. Herencia Según el diagrama, los números numero t pueden ser de dos tipos: real t
o complex t. Implementar el diagrama de clases en C++ y realizar un programa que
permita crear una instancia de real t y complex t y mostrar su valor (show()) en caso
de un número complejo, el valor deberá mostrarse bajo la convención matemática (a +
bi).
45. Herencia Según el diagrama, las piezas de ajedrez piece t pueden ser de de varios
tipos pero por simplificación se observan 2 tipos: caballos knight t o alfiles bishop t.
Implementar el diagrama de clases en C++ y realizar un programa que permita crear
una instancia de knight t y bishop t y mostrar si el caballo o alfil se pueden mover a
una posición valida (can move(x, y)).
CS1102 Guı́a de Ejercicios - Página 23 de 26 2022-II
46. Herencia LosLibros pueden ser dos tipos: Libros electrónicos o Libros en papel. Tomando
en cuenta el diseño de la siguiente figura implementa un programa que permita al usuario
crear una instancia de Libro electrónico y Libro en papel e imprimir su descripción. (de-
scripcion).
CS1102 Guı́a de Ejercicios - Página 24 de 26 2022-II
47. Herencia LosVehı́culos pueden ser dos tipos: Car o Boat. Tomando en cuenta el diseño
de la siguiente figura implementa un programa que permita al usuario crear una instancia
de Car y Boat y simular conducirlos (drive).
CS1102 Guı́a de Ejercicios - Página 25 de 26 2022-II
49. Herencia Según el diagrama, los vólumenes de una biblioteca volumen t pueden ser de
dos tipos: book t o newpaper t. Implementar el diagrama de clases en C++ y realizar
un programa que permita crear una instancia de book t y newpaper t y mostrar su valor
(show()) debe mostrarse el nombre, número y dependiendo del tipo el código isbn para
el caso de libros y issn para revistas.