Question n° 4. [12 points = 10+2] Vous devez prévoir des opérations pour simuler un magasin
avec deux caissiers (chacun capable de servir un client Ă la fois) et une seule file de clients
(premier arrivé, premier servi).
a) Fournir un pseudo-code pour les opérations suivantes :
• Serve (int i) : Envoie le premier client de la file d'attente à la caisse i
(iE(1,2)), si la ligne n'est pas vide.
• InterruptService (int i) : Renvoyer le client actuellement à la caisse i au
début de la ligne.
• Newcustomer (Customer p) : Un nouveau client arrive à la fin de la file d'attente du
caissier.
• GiveUp (int n) : les n derniers clients en ligne se lassent d'attendre et
abandonnent la file d'attente.
Utilisez le type de données abstrait (ADT) le plus approprié vu en classe comme base pour
concevoir les opérations ci-dessus. Vos opérations doivent simplement appeler des opérations
sur l'ADT choisi, sans préciser leur implémentation. La simplicité compte.
b) Effectuez les opérations suivantes et montrez le résultat, en supposant que
PrintLineup () imprime les clients dans la gamme du début à la fin.
Newcustomer (A);
Newcustomer(B);
Newcustomer (C);
PrintLineup();
Serve(2);
Serve(1);
Serve(1);
Newcustomer(D);
CSI 2110/CSI 2510
Newcustomer(E);
PrintLineup();
InterruptService(2);
InterruptService(1);
PrintLineup();
Newcustomer (F);
GiveUp(2);
PrintLineup();
page 3