Desconforme con muestra y solución parcial

Desconforme con muestra y solución parcial

de Nicolas Castro Franzero -
Número de respuestas: 2

Creo que somos unos cuantos que no entendimos la solución planteada al problema dado. Entiendo que querían que se parezca al problema de los filósofos pero no se corresponde, ya que en ese problema por limitación del recurso 'tenedor' se necesitaba limitar la cantidad de filósofos que 'entraban' a la mesa. Pero en el problema del parcial, al existir la opción de tomar 1 o 2, ya no se tendría que limitar la cantidad de amateurs, pues una posible situación del problema es que 30 nadadores amateurs con un flotador cada uno estén nadando en la piscina, es algo que la solución tiene que contemplar y muchos hicimos la solución teniendo en cuenta eso, ya que la idea es contemplar todas las situaciones que abarca el problema, por eso es que "serializamos" ya que de esta forma se controlaba el ORDEN de llegada de los amateurs y se permitía la situación mencionada. Esa situación no esta contemplada en la solución del parcial, entonces, es solución o no del problema?

Me sacaron 10 puntos del 3, por la serialización y porque me comí un signal() al final del entra_amateurs(). Con respecto a lo primero lo explique en la muestra, "me entendieron" y solo me dieron 2 puntos. Por ende entiendo que el error del signal() me quitó 8 puntos, que creo es un error mas 'tolerable' (1 lineal de código, que obviamente no fue por falta de conocimiento, ya que fue el único error) y no se si es para restar 8 puntos; así como en la solución que subieron en vez de ==29 debería ser >=, ya que con el == pueden entrar 500 amateurs y quedar en deadlock.

Yo creo que en la muestra el reajuste se debe hacer el momento, sino es como ir medio en vano. No creo que sea fácil recordar lo que hablaste con cada uno y recorregir de nuevo teniendo en cuanta la defensa de cada alumno.

En respuesta a Nicolas Castro Franzero

Re: Desconforme con muestra y solución parcial

de Agustin Jose Amegeiras Quintillan -
Concuerdo con el compañero que en este parcial fue poco clara la funcion "Dar_flotador()" y que por ende existieron muchos deadlocks por este motivo, y no fue asi con la función nadar() que es algo más basico de entender.
Y esto ultimo lo corroboro haciendo referencia al dia del parcial en donde casi todas las preguntas fueron enfocadas a dicha función, porque nadie tenia claro que se esperaba de la misma.
A su vez es verdad lo que dice el compañero de que la solución del parcial esta mal, ya que se quedan en deadlock los nadadores amateurs, porque cuando el contador pasa los 29 se omite la condicion del IF con el esperaAmateur.wait(); y se consumen todos los flotadores igual a lo sucedido en la mayoria de los casos en el parcial, bastante irónico la verdad.
En respuesta a Nicolas Castro Franzero

Re: Desconforme con muestra y solución parcial

de Pablo Ezzatti -
Hola,

primero que nada disculpas por la letra. Es obvio que la intención es que todas las letras sean perfectamente claras. En este parcial, dada la cantidad de consultas que hubo durante el parcial, no fue el caso.

Los ejercicios de concurrencia por lo general tienen varias soluciones posibles. En este caso entendemos que la solución del tipo filósofos está bien, hay otras posibles (que necesitaban herramientas que no se ofrecían).

Algunas aclaraciones más puntuales. Serializar el acceso a los flotadores, además de simplificar el problema, no garantiza directamente el orden para el uso de la piscina (para una de las semánticas de uso de la piscina, i.e. si asumían que entrar a la piscina era entrar al monitor cuando ya se tenían el/los flotador/es). Sobre los comentarios de la solución, sí subimos una versión borrador (perdón por la desprolijidad). Mas allá de lo importante de plantear letras claras es inevitable que las funciones que son parte del corazón del problema a resolver generen mayores dudas que aquellas que son solo de contexto de la letra (en este caso darflotador() y nadar() respectivamente). Es importante aclarar que la muestra no es una instancia de defensa, permite detectar errores en la corrección así como en algunos casos particulares comprender mejor cual fue la intención de la solución propuesta. Por último, los criterios de corrección los define el equipo docente y no está en discusión (por eso no ampliamos en los planteos particulares) y la instancia de corrección también es una actividad específica del equipo docente.

saludos
pablo

(Editado por Manuel Freire - envío original jueves, 20 de octubre de 2022, 16:10)