Pregrado
2023-I
Programación II
Proyecto 2 - Laboratorio
Modelo Geométrico 3D
Sección : laboratorio, 1.01
Profesor: José Antonio Fiestas Iquira
Nombres Porcentaje de participación Código
Aarón Víctor Manuel Timaná Castro 100% 202220350
Diana Prissyla Chávez Alarcón 100% 202110529
Sebastian Luis Otero Morales 100% 202210241
El código en C++ presentado se centra en el manejo de figuras geométricas en un
espacio tridimensional. Utiliza clases y herencia para representar diferentes tipos de
figuras, como esferas y cubos, y ofrece funcionalidades como el cálculo de
distancias, detección de superposiciones y operaciones de conjuntos. Además, el
programa genera figuras aleatorias y proporciona información estadística sobre las
figuras presentes, como el conteo por color y el número de intersecciones entre
ellas. Este código es una herramienta versátil para trabajar con figuras geométricas
y realizar análisis y operaciones sobre ellas.
El código comienza definiendo la clase base "FiguraGeometrica": Que tiene
atributos para almacenar las coordenadas del centro y el color de la figura. Esta
clase también contiene un método virtual puro para obtener el tipo de figura y otros
métodos para obtener información específica de la figura, como el color y las
coordenadas.
Luego, se definen dos clases derivadas: "Esfera" y "Cubo": Estas clases heredan
de "FiguraGeometrica" y agregan atributos y métodos específicos para cada tipo de
figura. Por ejemplo, la clase "Esfera" tiene un atributo adicional para almacenar el
radio.
A continuación, se presenta la clase "Conjunto" : Que representa un conjunto de
figuras geométricas. Esta clase utiliza un vector para almacenar las figuras y
proporciona métodos para agregar figuras al conjunto, imprimir los datos de las
figuras, calcular distancias entre figuras y determinar si se superponen en el
espacio. También ofrece funcionalidades para realizar la unión de dos conjuntos de
figuras, contar las figuras por color y contar las intersecciones entre figuras.
(puede agregarse porciones del código) En la función principal "main", se
generan conjuntos de figuras aleatorias utilizando las clases y funcionalidades
proporcionadas. Se realiza la unión de los conjuntos, se imprime la información de
las figuras en el conjunto unido y se generan estadísticas como el conteo de figuras
por color y el número de intersecciones. Por último, se guarda esta información en
un archivo externo llamado "[Link]". Se presentan algunos ejemplos de impresión.
En resumen, el código presentado ofrece una estructura organizada y modular para
trabajar con figuras geométricas en un espacio tridimensional. A través de las clases
y herencia, se pueden definir y manipular figuras como esferas y cubos,
aprovechando atributos como coordenadas y color. Además, la clase "Conjunto"
permite gestionar conjuntos de figuras y realizar operaciones como la unión, el
conteo por color y la determinación de intersecciones.
Comentarios finales. Las ventajas y desventajas de utilizar la Programación
Orientada a Objetos (POO) para resolver este problema:
- Organización y mantenibilidad: OOP proporciona una estructura de código
más organizada al dividir el código en clases y objetos. Esto hace que el
programa sea más fácil de mantener porque cada clase es responsable de
una tarea específica y se puede cambiar de forma independiente.
- Reutilización de código: OOP promueve la reutilización de código a través de
herencia y composición. Esto significa que las clases pueden heredar la
funcionalidad y el comportamiento de otras clases, lo que evita la duplicación
de código y facilita la ampliación de los programas.
- Flexibilidad y extensibilidad: debido al polimorfismo, OOP permite el manejo
consistente de diferentes objetos. En este ejercicio, la clase "Conjunto" puede
manejar diferentes tipos de geometría sin conocer los detalles de cada forma.
Esto proporciona flexibilidad y facilita la adición de nuevos tipos de
programación en el futuro.
Diagrama de flujo