Bild 1. Kiosk-kö.
Skriv en funktion round-robin[queue;time;close-time]
som tar tre argument:
queue | som är en kö av personer, queue-person. |
time | som står för hur många sekunder varje kund betjänas innan de får ställa sig i sist i kön igen. |
close-time | som står för de antal sekunder som är kvar innan kiosken stänger. |
Exempel (personerna i kön håller i en lapp där det står hur många sekunder de behöver för sitt årende):
Bild 2. Illustration av round-robin utan att avslöja någon lämplig datarepresentation.
Redovisning
Uppgiften får lösas individuellt eller i grupper om två. Uppgiften ska
redovisas skriftligt med
Dina lösningar ska spegla god programmeringssed för funktionella språk. Således kan fungerande program, som ej är en bild av ett funktionellt synsätt och väl illustrerar en teknik med dataabstraktion, komma att underkännas. Du bör speciellt undvika tekniker med "räknare" eller "ackumulerande parametrar", om dessa ej är nödvändiga för uppgiftslösningen.
Handledning ges av Roger Jonsson, på anslagna tider. Uppgiften lämnas till Roger Jonsson.
Anders Berglund Office: Room 1254 Department of Computer Systems E-mail: Anders.Berglund@docs.uu.se Box 325 Phone (work): +46 18 471 31 67 S-751 05 Uppsala Mobile phone: +46 425 02 11 Sweden Fax (work): +46 18 55 02 25