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)