Atelier pratique - la livraison de cadeaux

Instructions :

Le Père Noël vous demande de l’aide pour organiser sa livraison de cadeaux. En effet, il y a de plus en plus de livraisons à faire dans le monde et il faut revoir l’organisation des elfes qui s’occupent de charger le traineau.

Actuellement, chaque cadeau C qui sort de l’usine du Pôle Nord PN est livré à un elfe E, qui le transporte vers le traineau T, situé à l’autre bout du Pôle Nord, ce qui lui prend un certain temps. Une fois que l’elfe a déposé le paquet sur le traineau, il peut revenir à l’usine et s’occuper du paquet suivant.

Le traineau propose l’interface suivante :

public interface TraineauPereNoel
{
void transporter(Cadeau lecadeau);
}

  • Recréez un programme reproduisant le comportement actuel :

( PN ) —[ livre C ]—> ( E ) –[ transporte vers ]—> ( T )

  • Pour réorganiser un peu les choses, Mère Noël (MN) propose de rentrer en piste. C’est désormais elle qui va gérer l’équipe d’elfes et leur affecter des tâches. Ainsi, les livraison de l’usine lui seront faites directement, et c’est elle qui se chargera de donner les cadeaux qui lui arrivent à un elfe s’il y en a un de disponible, et qui le gardera de côté sinon en attendant qu’un elfe le soit.

( PN ) —[ livre 1 à N cadeaux C ]–> ( MN ) --[ confie à 1 à N ]–> ( E )–[ transporte vers ]—> ( T )

  • Comme les elfes sont lents, Madame Noël a souvent un stock de cadeaux en attente d’un elfe disponible. Elle réalise qu’il y a parfois dans ce stock plusieurs cadeaux pour la même famille, qui devraient donc être mis en même temps sur le traineau. Cependant, il est possible qu’elle ne reçoive pas tous les cadeaux de la même famille en même temps : comme elle ne veut pas pour autant retarder le transport des cadeaux, elle décide que si des elfes sont disponibles, la priorité sera de leur confier des cadeaux (donc qu’il y ait le moins d’inactivité chez les elfes) et ce, même si tous les cadeaux d’une même famille ne sont pas encore arrivés.

Proposer à la Mère Noël une stratégie permettant de livrer ensemble les cadeaux d’une même famille quand c’est possible

  • Le Père Noël durcit ses règles et décide de punir toutes les familles dont un membre n’a pas été sage : il appelle donc régulièrement la Mère Noël en lui demandant de jeter tous les cadeaux d’une même famille.