Consulta Segundo Parcial Julio 2016

Consulta Segundo Parcial Julio 2016

de Matteo Guerrieri Garcia -
Número de respuestas: 3

Buenas, 

No entiendo que es lo que hace en esta parte de la solución:

// Pido ordenado por número de estantería para evitar deadlock
for(i = 1; i <= 100 && ok; i++) {
  if(usado[i]){ 
    // “Lockeo” estanteria (uso exclusivo entre empaquetadores)
    Estanterias[i].obtener();
      for(j = 1; j < tope; j++){ 
        // verifico stock del los productos de esa estantería
        if(donde[j] = i && !hay_stock(pedido[j],i))
          ok = false;
        }
      }
  }
}


En el segundo for, que es lo que se hace? La letra dice que es una estantería por producto

Luego, otra consulta, la segunda solucion seria "peor" por lo que se explico en este foro https://eva.fing.edu.uy/mod/forum/discuss.php?d=145469 verdad?

Gracias!


En respuesta a Matteo Guerrieri Garcia

Re: Consulta Segundo Parcial Julio 2016

de Manuel Freire -

Buenas,

Creo que tu confusión viene de interpretar mal el tema de "una estantería por producto". La letra dice "Cada producto solo puede estar en una estantería." ¿Qué quiere decir? Que para un producto habrá solo una estantería en la que será encontrado pero no dice nada del inverso (dada una estantería ¿cuántos productos hay?). Como un pedido tiene (o mejor dicho puede tener) más de un producto se puede dar la situación en la que tenga dos productos de la misma estantería. En este caso necesitamos chequear el stock  de los dos y no solo del primero que esté en la lista. Para garantizar eso se recorre toda la lista y se pregunta si son productos de esa estantería.

En cuanto a lo otro tenés razón que sería un poco peor pero no te preocupes por eso, era una duda teórica (venía de las diapositivas) y por eso se dió la discusión. No es un punto en el que hacer hincapié.

Saludos!







En respuesta a Manuel Freire

Re: Consulta Segundo Parcial Julio 2016

de Matteo Guerrieri Garcia -

Bien, quedo claro, gracias por la respuesta! 

Consulta, cuando hay que hacer cosas como ordenar una lista o algo similar, se puede asumir que contamos con operaciones ya implementadas tipo "ordenarLista(lista)" y que retorne la lista ordenada ?

Gracias, saludos

En respuesta a Matteo Guerrieri Garcia

Re: Consulta Segundo Parcial Julio 2016

de Manuel Freire -

Como norma general te diría que no aunque no se me ocurren casos concretos. De todas formas si en el examen necesitas hacerla preguntá antes por las dudas.

Saludos!