Nytillkomna kunder ställer sig sist i kioskkön och gamla kunder expedieras från början av kön. En person i kön har ett namn, ett ärende och en tid som anger hur lång tid som krävs för expedieringen av ärendet.
En kiosk av typen Drugstore har ett antal
egenskaper, däribland:
Skriv en metod till en klass Drugstore. Metoden ska returna den kö som återstår när kiosken stängs.
Varje person i kön betjänas i time sekunder, eller mindre, om en kortare tid räcker för kundens ärende. När personen är färdigexpedierad tas han eller hon bort ur kön. Annars, om ärendet tar längre tid än time ställer sig personen sist i kön igen efter att ha minskat sin ärendetid med time.
Samtidigt närmar man sig stängningsdags. Den kund som expedieras vid stängningsögonblicket, expedieras färdigt, dock som vanligt max time sekunder, varefter luckan obönhörligen stängs. Du kan anta att alla kunder har anlänt när kiosken öppnar.
Man kan identifiera exempelvis följande klasser. Många andra lösningsstrategier är möjliga och lämpliga, men på denna uppgift krävs att du använder just dennna idé. Naturligtvis både kan och får du utveckla idén vidare.
Uppgiften får lösas individuellt eller i grupper om två. Om två personer arbetar tillsammans, ska båda aktivt delta i hela utvecklingsarbetet. En ren arbetsdelning, exempelvis programmering mot dokumentation är inte tillåten.