Trabajos de Programación Orientada a Objetos Primera unidad: Conceptos básicos Dibuje la jerarquía de dispositivos electrónicos que conozca (pasivos, activos, de dos patas de 3 patas, lineales, no lineales, etc.) De un ejemplo de una jerarquía de la vida diaria similar a la vista en clase. Dibuje una jerarquía de figuras geométricas (cuadrado, triángulo, pentágono, trapecio, etc.) Dibuje una jerarquía de sólidos geométricos (prismas, tetraedro, icosaedro, etc.). Describa las responsabilidades de una organización que comprenda al menos seis tipos de individuos. Ejemplos de una organización son un escuela (estudiantes, profesores, director, conserje), un negocio (secretaria, gerente, trabajadores) y un club (presidente, vicepresidente, miembros). Para cada clase de individuo, describa las responsabilidades y los colaboradores. Considere un juego común. Describa un sistema de software que interactúe con el usuario para jugarlo, (dados, solitario, damas, turista, etc.) Para cada uno de los pares siguientes, diga si la relación es es-un o tiene-un. Casa – techo Conserje – empleado Ratón digital – dispositivo de entrada Menú – ventana Conjunto – colección Segunda Unidad: Defina una clase para implementar conjuntos de enteros de 0 a 100 en C y llámela IntegerSet. Utilice un arreglo de unos y ceros. Si un elemento i esta en el conjunto, a[i] vale 1, sino vales 0. Implemente operaciones para insertar un elemento, borrar un elemento, probar pertenencia, realizar la unión y la intersección de conjuntos, una operación de prueba de igualdad y un método para desplegar el contenido del conjunto. Un contador digital es un contador limitado que da la vuelta cuando su valor entero alcanza un valor máximo. Defina un objeto para implantar un contador limitado. Proporcione la capacidad para establecer los valores máximo y mínimo, incrementar, devolver el valor actual e imprimir su valor. Desarrolle un reloj digital utilizando los contadores del problema anterior. Derive la clase Rectangle a partir de la clase Point. Defina width y height como miembros dato. Escriba los métodos constructor, Show, Hide, MoveTo, ExpandW, ExpandH, ContractW, ContractH. Defina un jerarquía de clases Empleado, EmpleadoPorHora, EmpladoDeBase. Defina que atributos (miembros dato) necesita mantener para cada uno. Defina métodos (funciones miembro) para Iniciar cada tipo de empleado, obtener el sueldo de cada uno, Obtener el nombre, Imprimir todos los datos. Defina la clase Racional para efectuar operaciones aritméticas con números racionales. Implemente la suma, la resta, la multiplicación y la división. Sobrecargue operadores para cada operación.