Clases

13. 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.-