Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedback AC07 #592

Open
Drpinto1 opened this issue Dec 3, 2019 · 0 comments
Open

Feedback AC07 #592

Drpinto1 opened this issue Dec 3, 2019 · 0 comments
Assignees
Labels
actividades Issues relacionadas con las actividades del curso IMPORTANTE

Comments

@Drpinto1
Copy link
Contributor

Drpinto1 commented Dec 3, 2019

Resumen:

A continuación se muestran los errores más comunes de la actividad AC07; en general mostró buenos resultados, pero es importante que los tengan en consideración. El uso de árboles es una herramienta muy útil en computación y el análisis de información.

Los errores que logramos identificar se concentraban en los métodos agregar_ayudante y grupo_mayor_eficiencia, donde la mayor dificultad la encontraron al moverse dentro del árbol: ya sea para delegar funciones como agregar un ayudante o para recorrer todos los nodos con tal de calcular la eficiencia.

Recuerden además que pueden ver en el cierre correspondiente una solución parcial a esta AC, donde se muestran resoluciones de algunas de las siguientes observaciones.

Errores principales:

  • Método agregar_ayudante:

    • Cuando se necesitaba agregar un ayudante que no era subordinado directo del actual, este se agregaba directamente en la siguiente generación y no se comprobaban los requisitos (mismo tipo o mentor adecuado).
    • Cuando debía agregarse un novato al mentor. Si bien calculaban bien las afinidades, al momento de agregarlo, no se agregaba al mentor, sino que directamente al jefe.
    • Para agregar el ayudante novato a uno de los mentores, se debía elegir entre los candidatos directos y comparar las afinidades; pero en general accedían directamente a la estructura que contenía a los ayudantes. Una mejor manera de hacerlo era a usando el método agregar_ayudante de manera recursiva.
    • Varios agregaron de manera correcta los subordinados directos, sin embargo no manejaron el caso en que los subordinados no eran directos, dejando el árbol con nodos faltantes.
  • Método grupo_mayor *_eficiencia: muchos se complicaron sobre cómo recorrer árbol, en algunas ocasiones no podían sumar la eficiencia acumulada del grupo reseteando el valor al cambiar de ayudante, esto debido a que la forma en la que se movían de nodo a nodo y cómo guardaban el valor global.

Cómo evitarlos:

  • Por lo general, los principales tips de cómo afrontar el desarrollo de la actividad están contenidos en el enunciado. En el caso del método agregar_ayudante se pedía que un ayudante verifique si podía agregarlo a sí mismo o debía elegir uno de sus subordinados para que este lo hiciera, lo que apuntaba al uso recursivo de este método.

  • Por otro lado, en grupo_mayor_eficiencia la gran mayoría intentó resolverlo con una cola de ayudantes, en la cual iban agregando y quitando ayudantes a medida que iba recorriendo el árbol y calculando la eficiencia de cada grupo. Desafortunadamente no consideraban ciertos aspectos como almacenar ciertas variables fuera de los loops con tal de no perder el valor en cada iteración.
    Los que decidieron usar recursión (igualmente válido), recuerden que pueden pasar valores a través de la recursión, utilizando valores mutables defecto dentro de los parámetros de la función.

@Drpinto1 Drpinto1 added IMPORTANTE actividades Issues relacionadas con las actividades del curso labels Dec 3, 2019
@Drpinto1 Drpinto1 self-assigned this Dec 3, 2019
@Drpinto1 Drpinto1 pinned this issue Dec 3, 2019
@fdoflorenzano fdoflorenzano unpinned this issue Dec 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
actividades Issues relacionadas con las actividades del curso IMPORTANTE
Projects
None yet
Development

No branches or pull requests

1 participant