0% encontró este documento útil (0 votos)
19 vistas9 páginas

Indicaciones Específicas:: Programación II

pc c++

Cargado por

joaquin.justo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas9 páginas

Indicaciones Específicas:: Programación II

pc c++

Cargado por

joaquin.justo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Programación II

Práctica Calificada 3
Pregrado
2023-I
Profesor: Ian Paul Brossard
Lab 1.05

Indicaciones específicas:
• Esta evaluación contiene 6 páginas (incluyendo esta página) con 1 pregunta. El
total de puntos es 20.
• El tiempo límite para la evaluación es 100 minutos.
• Su entrega debe consistir de un main.cpp (y archivos de encabezado .h y archi-
vos .cpp adicionales si lo requiere) y dos archivos txt.
• Deberá subir sus archivos directamente a www.gradescope.com, por separado.
• Recuerde que Gradescope solo conserva el último envío que se realiza.
• Se solicita compartir su pantalla y grabar su pantalla durante la evaluación. Deberá
compartir su video con el correo [email protected].

Competencias:
• Para los alumnos de la carrera de Ciencia de la Computación
– Aplicar conocimientos de computación apropiados para la solución de
problemas definidos y sus requerimientos en la disciplina del programa.
(nivel 2)
– Diseñar, implementar y evaluar soluciones a problemas complejos de
computación. (nivel 2)
– Crear, seleccionar, adaptar y aplicar técnicas, recursos y herramientas mo-
dernas para la práctica de la computación y comprende sus limitaciones.
(nivel 2)
• Para los alumnos de las carreras de Ingeniería
– Aplicar conocimientos de ingeniería en la solución de problemas comple-
jos de ingeniería (nivel 2).
– Diseñar soluciones relacionados a problemas complejos de ingeniería (ni-
vel 2).
– Crear, seleccionar y utilizar técnicas, habilidades, recursos y herramientas
modernas de la ingeniería y las tecnologías de la información, incluyendo
la predicción y el modelamiento, con la comprensión de sus limitaciones
(nivel 2).

1
• Para los alumnos de Administración y Negocios Digitales
– Analizar información verbal y/o lógica proveniente de distintas fuentes,
encontrando relaciones y presentándola de manera clara y concisa (nivel
2)
– Analizar y evaluar el comportamiento del consumidor y el desarrollo de
estrategias comerciales (nivel 2)
– Trabajar de manera efectiva con equipos multidisciplinarios y diversos en
género, nacionalidad, edad, etc. (nivel 2)

Calificación:
Tabla de puntos (Sólo para uso del profesor)

Question Points Score


1 20
Total: 20

1. (20 puntos) Los dioses griegos:

Parte I: Dioses primordiales

Pregunta 1: el caos

Según la mitología griega, en el comienzo de los tiempos solo había un vacío infinito
(llamado Caos). El Caos es aquello que existe antes que los dioses. Es el estado prístino
del cosmos.

Relate esto en un mensaje tanto en la salida de impresión de su pantalla, como en un


archivo .txt. Debe imprimir el texto “Pregunta 1” como parte de su mensaje.

Pregunta 2: Gea

De pronto, de ese Caos, emanó la diosa griega Gea, también llamada Gaia, y conocida
en la mitología romana como Terra.

Implemente a Gea en su programa y relate esto en un mensaje tanto en la salida de


impresión de su pantalla, como en un archivo .txt. Debe imprimir el texto “Pregunta
2” como parte de su mensaje.

Imprima en la pantalla el nombre principal de la diosa Gea, así como también la otra
versión de su nombre, Gaia, y su equivalente en la mitología romana, Terra.

2
Pregunta 3: Eros

De ese Caos, surgió también Eros, el dios del deseo, quien representa la voluntad de
hacer cosas. En la mitología romana, el equivalente a Eros es Cupido.

Gea y Eros serían los dioses primordiales. Sin embargo, existe una versión alternativa
en la que Eros es, en realidad, hijo de Afrodita y Ares. También existen otras versiones
alternativas en las que Eros es hijo de Afrodita con Hermes, hijo de Afrodita con He-
festo, hijo de Poros con Penia, o hijo de Iris con Céfiro.

Implemente Un vector de strings que permita que un dios pueda ser hijo de dos dioses.
Implemente algún mecanismo para que pueda anotar todas las posibles parejas de pa-
dres. Puede implementar un vector de strings.

• Si usa relaciones de clases, Gaia podría con nadie en ese atributo, o usted podría
crear a la entidad “Vacío” y relacionar a Gaia con ese Vacío.
• Si usted usa un vector de strings, podría asignar «vacío» en el vector de Gaia, y
podría poblar el vector de Eros con las cadenas «vacío», «Afrodita y Ares», «Afro-
dita y Hermes», «Afrodita y Hefesto», «Poros y Penia» y, finalmente, «Iris y Cé-
firo»

Escriba tanto en su archivo como en la pantalla de impresión de salida quiénes son los
padres de Gea y Eros. Debe imprimir el texto “Pregunta 3” como parte de su mensaje.

Pregunta 4: Urano

De Gea, nació Urano. Urano rodeó a Gea y éste se transformó en el Cielo.

Relate esto en un mensaje tanto en la salida de impresión de su pantalla, como en un


archivo .txt. Debe imprimir el texto “Pregunta 4” como parte de su mensaje.

Pregunta 5: Otros dioses primordiales

Del Caos también nacieron otros dioses primordiales como Nix (también llamada Nyx
o Nicte), la diosa primordial de la noche, Érebo, dios primordial de la oscuridad y las
sombras, Hemera, la diosa primordial del día, Éter (el aire), dios del cielo superior, es
decir, la región que está por encima del cielo.

Cree a Nix, Érebo, Hemera y a Éter.

Así como Urano (el cielo) nació de Gea, existen otras deidades que también nacieron
de Gea, tales como Tifón (las tormentas), Pontos (el mar) y Ourea (las montañas).

Cree a Tifón, Pontos y a Ourea.

Relate esto en un mensaje tanto en la salida de impresión de su pantalla, como en un


archivo .txt. Debe imprimir el texto “Pregunta 5” como parte de su mensaje.

3
Parte II: Segunda generación de dioses

Pregunta 6: Sobrecarga de operadores

De los dioses primordiales Nix, Érebo, Gea, Urano, Éter y Hemera, nacieron otros
dioses. Gea y Urano tuvieron muchos hijos: Océano, Hiperión, Ceo, Crio, Japeto,
Cronos, Tetis, Teia, Febe, Temis, Mnemosine, y Rea.

Sobrecargue el operador + de modo que este reciba dos dioses griegos, y retorne una
cadena con los nombres de los padres de nuevo dios griego (este nuevo dios griego
que será hijo de los dos operandos que envió al operador +.

Implemente la creación de nuevos dioses mediante la procreación entre dos dioses. No


es necesario que implemente un menú para elegir quiénes son los dioses que darán
existencia al nuevo dios hijo, puede simplemente llamar al operador + manual-
mente y usar como operandos a dos dioses elegidos por usted.

Tampoco es necesario que su programa imprima en pantalla un mensaje solicitando al


usuario que ingrese el nombre del nuevo dios que va a nacer. Solamente cree a Océano,
Hiperión, Ceo, Crio, Japeto, Cronos, Tetis, Teia, Febe, Temis, Mnemosine, y a Rea,
dándoles estos nombres en su constructor, y Gea + Urano en la cadena que irá a la
primera posición del vector de padres (en realidad debe usar el nombre de los objetos
que contienen a Gea y a Urano, por ejemplo diosgriego1+diosgriego2).

Pregunta 7: modificar operadores previamente ya sobrecargado

Modifique la clase de sus dioses griegos y agrégueles un atributo de tipo int que per-
mita almacenar la cantidad de hijos que tiene un dios griego.

Comente toda la sobrecarga de la pregunta 6 usando los símbolos /* y */ y vuelva a


implementar dicha sobrecarga. Esta vez, a los operandos se les deberá incrementar su
contador de hijos en 1.

Por ejemplo, Si Cronos tiene 0 hijos y Rea tiene 0 hijos, la operación que suma a
Cronos + Rea hará 3 cosas:

• Incrementar el contador de hijos de Cronos.


• Incrementar el contador de hijos de Rea.
• Retornar una cadena que diga “Cronos y Rea”.

Parte III: Tercera generación de dioses

Pregunta 8A: Crear hijos de Cronos y Rea

Cronos y Rea tuvieron muchos hijos. Estos hijos conforman la tercera generación de
dioses. Estos dioses son: Hestia, Hades, Poseidón, Hera, Zeus y Deméter.

Cree a estos hijos usando el nuevo operador + sobrecargado, de modo que Cronos y
Rea tengan 6 hijos al terminar de crear a estos dioses.

4
Relate esto en un mensaje tanto en la salida de impresión de su pantalla, como en un
archivo .txt. Debe imprimir el texto “Pregunta 8A” como parte de su mensaje.

Pregunta 8B: comer dioses

Gea le advirtió a Cronos que uno de sus hijos le quitaría su trono. Entonces, Cronos se
comió a todos sus hijos, sin embargo, no pudo comerse a Zeus (se comió una piedra
pensando que esa piedra era Zeus).

Implemente un método o función que permita que un dios se coma a otros dioses. Estos
hijos se deberán agregar al vector de strings con el nombre de los dioses devorados.
Por favor, no haga un vector de dioses griegos, solo haga un vector con los nombres
de los dioses comidos.

Haga que Cronos se coma a Hestia, Hades, Poseidón, Hera y Deméter. Relate esto en
un mensaje tanto en la salida de impresión de su pantalla, como en un archivo .txt.
Debe imprimir el texto “Pregunta 8B” como parte de su mensaje.

Pregunta 9A: sobrecarga de funciones

Como Cronos se estaba comiendo a todos los hijos que tenía con Rea, cuando ella dio
a luz a su sexto hijo, Zeus, decidió esconderlo de Cronos y le dio a Cronos una piedra
envuelta en mantas para que se lo coma.

Cronos se comió la piedra creyendo que el pequeño Zeus. Sin embargo, su función o
método de comer dioses solo recibe un parámetro con el dios a ser comido. Por lo
tanto, no podemos hacer que Cronos se coma una piedra.

Elabore otra implementación para la misma función o método que creó en la pregunta
8, esta vez, recibiendo un parámetro de string en vez de recibir a un dios griego.

Envíe el string «una piedra» a dicha función y ese string se guardará en el vector de
strings de dioses devorados. De esa manera, engañaremos a Cronos, tal y como lo hizo
Rea.

Relate esto en un mensaje tanto en la salida de impresión de su pantalla, como en un


archivo .txt. Debe imprimir el texto “Pregunta 9A” como parte de su mensaje.

Pregunta 9B: modificar un operadores previamente sobrecargado

Zeus sobrevivió y creció. Relate esto en un mensaje tanto en la salida de impresión de


su pantalla, como en un archivo .txt. Debe imprimir el texto “Pregunta 9B” como parte
de su mensaje.

5
Pregunta 10: nacen otros dioses

Durante todo este tiempo, nacieron muchos más dioses.

• Hijos de Océano y Tetis:


o Pleyone
o Metis
o Asia, también llamada Clímene
o Electra
• Hijos de Hiperion y Teia
o Eos
o Helios, dios del Sol
o Selene, diosa de la Luna
• Hijos de Ceo y Febe
o Leto
o Asteria
• Hijos de Japeto y Asia
o Atlas, también llamado Atlante
o Prometeo
o Epimeteo
o Pandora

Relate esto en un mensaje tanto en la salida de impresión de su pantalla, como en un


archivo .txt. Debe imprimir el texto “Pregunta 10” como parte de su mensaje.

Pregunta 11: sobrecargar nuevamente un operadores que ya había sido sobre-


cargado previamente.

Zeus tuvo muchos hijos. Sin embargo, algunos de esos hijos los tuvo con diosas y otros
hijos con no dioses. La sobrecarga del operador + que usted implementó en la pregunta
6 que modificó en la pregunta 7 solo recibe dos dioses griegos.

Dicho operador no puede hacer que Zeus tenga hijos con no dioses. Entonces, vamos
a escribir otra implementación para el operador + que esta vez reciba a un dios
griego y a un string. De esa forma, podemos hacer que el dios griego Zeus tenga un
hijo con alguien que no esté previamente creado en un objeto dios griego.

Esta nueva sobrecarga del operador + recibirá un dios griego y un string, aumentará
en 1 el contador de hijos del dios que fue enviado en el primer parámetro y retornará
el nombre de dicho dios, junto con el string.

Pregunta 12: Los hijos de Zeus

Implemente a los hijos de Zeus, según se describe a continuación:

• Con Hera, tuvo a los siguientes hijos:


o Ares, dios de la guerra
o Hebe, diosa de la juventud

6
o Ilitia, diosa de los nacimientos
• Con Metis, tuvo a los siguientes hijos:
o Atenea, diosa de la sabiduría, de la guerra, de la estrategia y de la civi-
lización (en realidad, Atenea salió de la cabeza de Zeus después de que
él la devoró tal y como Cronos devoró a los hermanos de Zeus, pero,
para fines de esta práctica calificada, pondremos que Atenea es hija de
Zeus y Metis).
• Con Leto, tuvo a los siguientes hijos:
o Apolo
o Artemisa
• Con Maya, tuvo a Hermes.
• Con Demeter tuvo a los siguientes hijos:
o Yaco
o Perséfone
• Con Alcmena, tuvo a Heracles.
• Con Dánae, tuvo a Perseo.
• Con Europa, tuvo a los siguientes hijos:
o Minos.
o Radamantis.
o Sarpedón.
• Con Sémele, tuvo a Dioniso.
• Con Leda, tuvo a los siguientes hijos:
o Cástor.
o Polideuces.
o Clitemnestra.
o Helena de Troya.
• Con Temis, tuvo a Hados.
• Con Electra, tuvo a los siguientes hijos:
o Jasón
o Dárdano
o Armonía
• Con Egina, tuvo a Eaco.
• Con Ío, tuvo a Épafo.
• Con Laodamía, tuvo a Sarpedón.
• Con Niobe tuvo a los siguientes hijos:
o Argos
o Pelasgo
• Entre otros.

Agregue a algunos hijos de Zeus y relate dichos nacimientos en un mensaje tanto en


la salida de impresión de su pantalla, como en un archivo .txt. Debe imprimir el texto
“Pregunta 12” como parte de su mensaje.

7
Pregunta 13: contador de hijos

Implemente un método o función que imprima cuántos hijos tiene un determinado


dios.

Use esta función con Zeus y escriba la cantidad de hijos que tiene en un mensaje tanto
en la salida de impresión de su pantalla, como en un archivo .txt. Debe imprimir el
texto “Pregunta 13” como parte de su mensaje.

Pregunta 14: Vomitar hijos

Zeus le da una poción a Cronos para que este vomite a los hijos que se había comido.

Implemente una función o un método para que Cronos vomite a todos los hijos que se
comió en la pregunta 8.

Use dicha función para vomitar a todos los dioses que se comió Cronos y relate esto
en un mensaje tanto en la salida de impresión de su pantalla, como en un archivo .txt.
Debe imprimir el texto “Pregunta 14” como parte de su mensaje.

Pregunta 15:

Cierre el archivo en el que está escribiendo sus relatos.

Los criterios en la rúbrica (y el puntaje respectivo) se condicionan a que la solución


presentada corresponda al problema planteado. El 100\% corresponde al puntaje indi-
cado en cada punto.

Criterio Excelente Adecuado Mínimo Insuficiente


El diseño del al- El diseño del al- El diseño tiene El diseño es de-
Ejecución
goritmo es orde- goritmo es orde- algunas defi- ficiente y la eje-
nado y claro, si- nado y claro. La ciencias pero la cución no es co-
guiendo buenas ejecución es co- ejecución es co- rrecta (0%).
prácticas en pro- rrecta (70%). rrecta (30%).
gramación. La
ejecución es co-
rrecta (100%).

No existen erro- Existen algunos Existen errores El código tiene


Sintaxis
res sintácticos o errores sintácti- sintácticos en la errores de sintá-
de compilación cos de menor re- forma de ejecu- xis que afectan
(100%). levancia, que no ción, que no el resultado
afectan el resul- afectan el resul- (10%).
tado (50%). tado (30%).

8
El código es óp- El código es de El código no está El código no está
Optimización
timo y eficiente. buen perfor- optimizado pero optimizado y la
De buen perfor- mance durante la la ejecución no ejecución es de-
mance e interac- ejecución es deficiente ficiente (0%).
ción con el usua- (70%). (30%).
rio (100%).

También podría gustarte