Está en la página 1de 6

Programación II

Proyecto 2 - Teorı́a
Pregrado
2022-1
Profesor José Fiestas

Indicaciones generales:
• El proyecto, es de Programación Orientada a Objetos en C++

• El proyecto se desarrollará en grupos de 3 estudiantes. Los nombres y secciones de


los integrantes deberán aparecer al inicio del informe de proyecto

• Debe escoger uno de los 3 proyectos propuestos.

• Los archivos de proyecto se subirán directamente a www.gradescope.com (Proyecto


02)

• Solo un integrante del grupo entregará el proyecto. No olvide registrar en Grade-


scope a los integrantes de proyecto. En caso sea un grupo de distintas secciones,
los nombres+secciones aparecerán en el informe.

• La entrega de proyecto será hasta el domingo 10 de julio, a medianoche

• La sección 4, contiene Reomendaciones generales para el desarrollo del proyecto,


la seccion 5 describe la Entrega de proyecto y la sección 6, la Rúbrica
CS1112 Proyecto 2 - Teorı́a - Página 2 de 6 2022-1

1 Rescate en Marte
Se ejecuta una misión de rescate de un astronauta varado en Marte. Se dispone de la nave
Artemis para el viaje a la Luna, y del Space-X, totalmente operable, para el viaje a Marte,
desde la Luna. Las naves están adaptadas para tres tripulantes. El objetivo es traer al
astronauta sano y salvo.

Se define un sistema de coordenadas centrado en la Tierra, es decir, con coordenadas


(0.0,0.0,0.0). Las posiciones de la Tierra, la Luna y Marte se suponen en un plano, por
lo que la Luna, tendrá las coordenadas (0.36,0.12,0.0), y Marte tendrá las coordenadas
(185.4,50.1,0.0) (en millones de kilómetros). El plan de vuelo es el siguiente:
• Artemis despega hacia la Luna con 1 tripulante. Llega a la estacion Lunar, donde lo
espera Space-X y aborda 1 tripulante más.
• Space-X despega hacia Marte con 2 tripulantes y realiza el viaje
• Space-X puede encontrar los siguientes obstáculos durante su viaje:

– Si se encuentra con asteroides, se desvı́a y tendrá un retraso de 1 dı́a. La proba-


bilidad de encontrar asteroides es del 20%
– Si encuentra una tormenta a su llegada, el Space-X debe orbitar Marte 50 veces,
hasta que pase la tormenta. La probabilidad de encontrar una tormenta es del
80%. Para calcular el tiempo invertido en este retraso, considere la circunferencia
de Marte, como 2π·radio, donde el radio de Marte corresponde a 3400 Km.

• Space-X rescata al astronauta en Marte y emprende el viaje de retorno a la Tierra con


3 tripulantes. Debido a que retorna con mas carga, la velocidad del Space-X se reduce
a 2/3 la velocidad de ida
• El Space-X debe alunizar y solo 2 tripulantes continuan el viaje a la Tierra
Calcule el tiempo de viaje considerando la estacion en la Luna, si se sabe que: la velocidad
del Artemis es de 9173 km/h y del Space-X es de 40000 Km/h.
Pregunta opcional: (1 pt.) Los 3 tripulantes en Marte, deciden desobedecer las órdenes y
continuar su viaje a Saturno en el Space-X. Utilice el algoritmo desarrollado para simular la
continuación del viaje. Coordenadas de Saturno son (1086.08,510.33,0.0). Al retornar,
pueden tener un retraso si se encuentran con los asteroides con una probabilidad del 50%.
¿En cuánto tiempo regresarı́an?
CS1112 Proyecto 2 - Teorı́a - Página 3 de 6 2022-1

2 Depredador-Presa
Se desea crear un modelo presa-depredador, y programar la interacción entre ellos. Genere

clases para las presas y depredadores, con atributos privados para su edad (entero aleato-
rio entre 5 y 20) y tamaño (decimal aleatorio entre 1 y 2), ası́ como métodos para la caza
y el reposo (luego de la caza).

Considere ademas las siguientes condiciones del modelo:

• Las actividades de un depredador se reducen solo a la caza y al reposo

• Cuando un depredador caza a una presa, el objeto de clase de esta ultima es destruido

• La presa puede salvarse, luego de un ataque (caza), con una probabilidad del

– 80% si la presa es más grande y más joven que el depredador


– 60% si la presa es más grande, pero más vieja que el depredador
– 40% si el depredador es más grande, pero más viejo que la presa
– 20% si el depredador es más grande y más joven que la presa

• Si un depredador no llega a cazar luego de 4 intentos, muere

• Si una presa se salva 3 veces se convierte en depredador

Construya un vector que contenga 15 presas y 10 depredadores. Los depredadores solo


pueden atacar una vez al dı́a. Imprima el estado inicial y final de los depredadores y presas en
una tabla, que contenga su tipo (depredador o presa), edad, y tamaño. ¿Cuál es la población
de depredadores/presas después de 1 año?
Pregunta opcional: (1 pt)
Considere que cada depredador se reproduce en un cachorro cada 2 meses, con una proba-
bilidad del 80% mientras las presas se reproducen cada 3 meses, con una probabilidad del
50%. ¿Cuál es la población final de depredadores/presas después de 1 año?
CS1112 Proyecto 2 - Teorı́a - Página 4 de 6 2022-1

3 Editora
Una compañı́a editora necesita un software para controlar el acceso a sus publicaciones. Para
ello contrata a tu grupo de trabajo.

La funcionalidad requerida del software es la siguiente:

• Las publicaciones, que maneja la editora, deben tener dos formas de acceso: para un
usuario, como para un autor.

• El usuario solo tiene acceso de lectura mas no de edición (escritura). Además


debe poder comprar publicaciones. Asimismo, tendrá un id y clave de acceso para
identificación.

• El autor tendrá acceso tanto de lectura como edición de las publicaciones. El autor
obtiene las publicaciones sin costo. Considere que él tendrá acceso de edición solo a
sus publicaciones. También tendrá un id y clave de acceso para identificación.

• La interfase del usuario/autor debe ser implementada con un menú de entrada con
las opciones mencionadas. No necesita implementar un editor de publicaciones, solo
simular el acceso (por ejemplo, con un mensaje adecuado).

La editora les pide un demo de funcionamiento para prueba, consistente en 10 publica-


ciones con la siguiente informacion: autor, tı́tulo, editora, año de publicacion, enlace
a pdf
Genere un archivo con la lista de publicaciones. Puede tomar una lista de artı́culos de
aquı́: IEEEXplore
Estas deben estar grabadas en un archivo y leı́das desde el mismo para que:
- El usuario pueda buscar un artı́culo para lectura
- El usuario pueda buscar un artı́culo para compra
- El autor pueda buscar un artı́culo y obtener toda la información mencionada (incluı́do
el enlace de acceso al artı́culo), ası́ como agregar un artı́culo a la lista de publicaciones
Pregunta opcional: (1 pt.)
Añada la opción para que un usuario pueda agregar un artı́culo a la lista y se convierta
en un autor. Y muestre la búsqueda de este nuevo artı́culo por parte de otro usuario y su
autor
CS1112 Proyecto 2 - Teorı́a - Página 5 de 6 2022-1

4 Recomendaciones para el desarrollo del proyecto


• Diseñe el algoritmo: defina las clases necesarias para resolver el problema, utilice
por lo menos dos clases, y represente el algoritmo con un diagrama UML. Señale
correctamente relaciones entre clases. Puede tomar como ejemplo el siguiente enlace
Diagrama UML

• Optimice el uso de memoria manejando la data en forma eficiente (utilice punteros


cuando sea necesario). El main() debe consistir solo en la declaración/inicialización de
variables y las llamadas a funciones.

• Programe en C++ el código que solucione el problema planteado e imprima los


resultados. Las cantidades deben imprimirse con una precisión de dos decimales

5 Entrega de proyecto
El proyecto se realizará en forma grupal (3 integrantes). En caso se haga el proyecto solo,
o en grupo de dos, se deberá justificar el motivo
Se pide realizar un informe de los resultados del proyecto, que contenga lo siguientes:

• Nombre del proyecto, nombre y sección de los integrantes

• Porcentaje de participación de cada integrante en el proyecto (de 0 a 100 %)

• Introducción (descripción del problema)

• Método (diseño del algoritmo, donde debe mostrar y describir el diagrama UML)

• Resultados (descripción de partes relevantes del código, sus salidas y análisis de las
mismas)

• Conclusiones (resumen del trabajo y posibles mejoras)

El proyecto se subirá a Gradescope (Proyecto 02)


Presente su proyecto en formato .pdf. Puede usar una plantilla de Plantillas Latex o conver-
tir un documento a pdf. No olvide adjuntar el código de programación (en formato .cpp).
Puede comprimir todos los documentos en un zip y subirlos a Gradescope
CS1112 Proyecto 2 - Teorı́a - Página 6 de 6 2022-1

6 Rúbrica
Se utilizará la siguiente rúbrica para la calificación del proyecto

Criterio Logrado Parcialmente Logrado No Logrado


Diseño del algo- El diseño del algo- Existen algunos er- Existen muchos er-
ritmo ritmo es correcto y rores menores en el rores en el diseño del
corresponde a la im- diseño del algoritmo algoritmo(0pts).
plementación en C++ (1 pts)
(1.5 pts)
Código El código no muestra El código contiene er- El código contiene
errores, es ordenado rores menores de pro- múltiples errores de
y corresponde al al- gramación. (1 pts). programación (0pts).
goritmo planteado (2
pts)
Presentación Describe los puntos No describe en No describe en forma
(informe escrito) del informe en forma forma adecuada to- adecuada ningún
ordenada y satisfacto- dos los puntos del punto del informe
ria (1pts) informe(0.5pts). (0pts).
Trabajo grupal Se desarrollo el El proyecto se hizo en Se hizo el proyecto
proyecto en un grupo un grupo de 2 (0.5 solo (0pts)(1) .
de 3 (0.5pts) pts)(1)
(1): En caso de no justificar el trabajo individual

También podría gustarte