Está en la página 1de 2

Ejercicios ETS POO

Semestre 2022/2

Ejercicio 1. Desarrolle un programa en que exista una clase llamada Estudiante conformada de un número entero de
identificación del estudiante, un arreglo de cinco calificaciones en número de precisión doble y un número entero que
represente el número total de calificaciones introducidas. El constructor para esta clase deberá inicializar todos los
miembros de datos de Estudiante en cero. Deberán incluirse en la clase funciones miembro para: 1) introducir un número
de identificación del estudiante, 2) introducir una sola calificación de prueba y actualizar el número total de calificaciones
introducidas y 3) calcular una calificación promedio y desplegar la identificación del estudiante seguido por la calificación
promedio. Incluya la clase Estudiante dentro del contexto de un programa completo. Su programa deberá declarar dos
objetos del tipo Estudiante, aceptar y desplegar datos para los dos objetos para verificar la operación de las funciones
miembro.

Ejercicio 2. Diseñar un programa en C++ para calcular mediante una clase la distancia entre dos puntos. La clase de nombre
distancia incorporar los miembros siguientes:
• Atributos privados: x1, x2, y1, y2, d
• Métodos públicos:
• leer_x1_y1_x2_y2
• calcular_d
• imprimir_d
Implemente el operador de resolución de ámbito para elaborar los métodos fuera de la clase. Declare un objeto para su
implementación en la función principal.

Ejercicio 3. Una empresa de equipo pesado vende bombas, intercambiadores de calor, tanques, etcétera. Cada equipo
lleva registrado nombre, fabricante, peso y costo. La información requerida para las bombas es presión de succión, presión
de descarga y medida de flujo. Dependiendo del tipo de bomba, necesitamos conocer:
• Bomba centrífuga: diámetro del impulsor, número de hojas y eje de rotación.
• Bomba de diafragma: material del diafragma.
• Bomba de pistón: longitud del pistón, diámetro, número de cilindros.
La información requerida para los tanques es: volumen y presión. Dependiendo del tipo de tanque, necesitamos conocer:
• Tanque esférico: diámetro.
• Tanque a presión: diámetro y altura.
Haga un programa que establezca la herencia, declare objetos, asigne información e imprima la información.

Ejercicio 4. Los servicios de entrega de paquetes como FedEx®, DHL® y UPS® ofrecen una variedad de opciones de envío
distintas, cada una con los costos específicos asociados. Cree una jerarquía de herencia para representar varios tipos de
paquetes. Use Paquete como la clase base de la jerarquía, después incluya las clases PaqueteDosDias y PaqueteNocturno
que se deriven de Paquete. La clase base Paquete debe incluir miembros de datos que representen el nombre, dirección,
ciudad, estado y código postal para el emisor y el destinatario del paquete, además de los datos miembro que almacenan
el peso (en kilogramos) y el costo por kilogramo para enviar el paquete. El constructor de Paquete debe inicializar estos
miembros de datos de la siguiente forma, si el tipo de dato es string se debe inicializar con la cadena vacía (“”), si el dato
es flotante se debe inicializar con el valor cero. Asegúrese que el peso y costo por kilogramo contengan valores positivos.
Paquete debe proporcionar una función miembro public llamada calcularCosto que devuelva un valor double para indicar
el costo asociado con el envío del paquete. La función calcularCosto de Paquete debe determinar el costo al multiplicar el
peso por el costo por kilogramo. La clase derivada PaqueteDosDias debe heredar la funcionalidad de la clase base Paquete,
pero también debe incluir un dato miembro que represente una cuota fija que cobre la compañía de envío por el servicio
de entrega de dos días. El constructor de PaqueteDosDias debe recibir un valor para inicializar este dato miembro.
PaqueteDosDias debe redefinir la función miembro calcularCosto, de manera que calcule el costo sumando la cuota fija al
costo basado en el peso, calculado por la función calcularCosto de la clase base Paquete. La clase PaqueteNocturno debe
heredar directamente de la clase Paquete y debe contener un miembro de datos adicional que represente una cuota
adicional por cada kilogramo que se cobre por el servicio de entrega nocturna. PaqueteNocturno debe redefinir la función
miembro calcularCosto, de manera que sume la cuota adicional por kilogramo al costo estándar por kilogramo, antes de
calcular el costo de envío. Escriba un programa de prueba para crear objetos de cada tipo de Paquete y evaluar la función
miembro calcularCosto.

Ejercicio 5. Diseñar un programa en C++, en el que se cree una clase llamada NumeroRacional (fracciones) con las
siguientes capacidades:
a) Cree un constructor que evite un denominador 0 en una fracción, que reduzca o simplifique fracciones que no estén en
forma reducida y que evite los denominadores negativos.
b) Sobrecargue los operadores de suma, resta, multiplicación y división para esta clase.
c) Sobrecargue los operadores relacionales y de igualdad para esta clase.
En la función principal, use objetos de la clase y realice operaciones que muestren la funcionalidad de los operadores
sobrecargados.

Ejercicio 6. Realizar un programa que utilice las funciones plantilla min( ) y max( ) que calculen el valor mínimo y máximo
de dos valores, para los tipos de datos enteros (int), de doble precisión (double) y de carácter (char).

También podría gustarte