Ejercicios de Clases

Sitio: Facultad de Ingeniería U.Na.M.
Curso: Computación ET-344
Libro: Ejercicios de Clases
Imprimido por: Invitado
Día: miércoles, 3 de julio de 2024, 07:31

1. Ejercicios Propuestos

Ejercicio 1:
Crear una Clase Televisor con propiedades privada de estado ( on/off) y de Valores de Canal y Volumen. Crear métodos públicos para encender, apagar , cambiar de canal y de volumen. Luego desde main crear un menú que permita manejar un objeto tv14p.-

Ejercicio 2:
Crear una clase empleado que contenga como propiedades privadas: el nombre, dirección y sueldo . Como métodos públicos poner y obtener para cada uno de sus propiedades y LeerDatos() y VerDatos que leen datos del teclado y lo visualizan en pantalla respectivamente.
Ejercicio 3:
Escribir una Clase Pila de Reales con funciones miembro para poner un elemento y sacar un elemento de la pila. La pila debería ser del tipo LIFO ( ultimo en Entrar es el primero en Salir). Como métodos publicos se usarán poner que añade un elemento a la pila y sacar que borra un elemento de la pila. Tomar como tamaño maximo de pila un valor de 10 con #define.

Ejercicio 4:
Crear una clase llamada hora que tenga miembros separados de tipo int para horas, minutos, segundos. Un constructor inicializará este dato a o y otro lo inicializará a valores fijos ( ej : 12:00:00). Un método deberá visualizar la hora en formato : hh:mm:ss . Otro método sumará dos objetos de tipo hora pasados como argumentos. Desde main se crean dos objetos inicializados y otro sin inicializar. Sumar los valores inicializados y poner el resultado en el no inicializado. Por último visualizar el valor resultante.

Ejercicio 5:
Cree una clase Rectangulo con los atributos longitud y ancho, cada uno con un valor predeterminado igual a 1.
Proporcione métodos (funciones miembro) que calculen el perímetro y el área del rectángulo.
Además proporcione métodos establecer y obtener (leer) para los atributos longitud y ancho, que permitan establecer los valores y leer los valores respectivamente. La función establecer debe verificar que longitud y ancho contengan números de punto flotante mayores que 0.0 y menores que 20.0.


Ejercicio 6:
Cree una clase llamada Complejo para realizar aritmética con números complejos. Escriba un programa para usar su clase.
(Recordar que los números complejos tienen la forma: parteReal + parteImaginaria*i
donde i es la raíz cuadrada de -1)
Utilice variables double para representar datos de tipo private de una clase. Proporcione un constructor que permita inicializar un objeto de esta clase cuando se declare. El constructor debe contener valores predeterminados en caso de que no se proporcionen inicializadotes. Proporcione funciones miembro tipo public para realizar lo siguiente:
a)Suma de dos números complejos (las partes reales se suman juntas y las imaginarias se suman juntas)
b)Resta de dos números Complejos (idem ant pero restando)
c)Impresión de números complejos de la forma (a, b) donde a es la parte real y b es la parte imaginaria.

Ejercicio 7:
Escribir un código que tenga una clase de nombre fecha, esta deberá tener un  constructor que inicialice una propiedad hoy con la fecha actual y un par de métodos que permitan:
Si se pasan dos fechas en formato dd mm aa dd mm aa , devuelve  la cantidad de días entre esas dos fechas.
Si se pasan una fecha en formato dd mm aa, dice la cantidad de años, meses días desde esa fecha a la de hoy.-
Desde main se presentará un menú que permita elegir alguna de las opciones.
A modo de aclaración , los años biciestros son aquellos que son divisibles por 400 o por 4 y no por 100.

Ejercicio 8:
Escribir una Clase Pila de Reales con funciones miembro para poner un elemento y sacar un elemento de la pila. La pila debería ser del tipo FIFO ( primero en Entrar es el primero en Salir). Como métodos publicos se usarán poner que añade un elemento a la pila y sacar que borra un elemento de la pila. Tomar como tamaño maximo de pila de manera dinámica en tiempo de ejecución.

Ejercicio 9:
Escribir una Clase que permita cargar y crear una lista enlazada simple. Buscar que el /los puntero/s  y la o las variables ( estructuras , etc) sea privados.-

Ejercicio 10:
Escribir una Clase que permita cargar y crear una lista enlazada doble. Buscar que el /los puntero/s  y la o las variables ( estructuras , etc) sea privados.-

2. Ejercicio Molinos de Café

Una empresa cuenta con un sistema dispensador de café molido.
Consta de varios molinos que comparten un depósito (silo) común. Cuando arranca el proceso el silo está lleno y contiene 200 kg de café en granos y ningún molino activo.
Durante la producción se puede acoplar más molinos hasta llegar a un total de 20 cabezales. Los molinos se identifican con letras sucesivas del alfabeto: a, b, c, etc.

Se requiere un programa en C++ que presente un menú con las siguientes opciones:

1: agregar molino
2: mostrar reporte (muestra un informe de la cantidad en depósito, lo molido por cada cabezal y el total molido)
a, b, c, etc: operar sobre el molino correspondiente
0: salir

Cada molino será el objeto de una clase. La clase tendrá como mínimo las siguientes propiedades:
-ID: a, b, c, etc (se completa automáticamente al momento de crear el objeto)
-disponible  contiene el dato del café que queda en el silo
-molido   cantidad de café molido por el cabezal

Además tendrá los métodos:
moler()  pide el ingreso de la cantidad a moler y ajusta las propiedades
recargar() pide el ingreso de la cantidad a recargar en el silo y ajusta la propiedad. (esto se puede hacer desde cualquier molino)