exempel-pa-specifikation-till-fiktiva-uppgiften



# Spec av P-uppgift # Namn: Simon Semla # Personnummer:820231-0000 # P-uppgift nr: 100 # Titel: Matservering # **************************** Användargränsnitt ************************ # Vid körning ska programmet se ut som nedan: # Ge antal portioner som sålts i Grillen:200 # Ge antal portioner som sålts i Salladsbaren:143 # Ge antal portioner som sålts i Svensson:250 # Grillen: vinst 7420 # Salladsbaren: förlust 250 # Svensson: förlust 4500 # Dagens rest är Svensson med 122 portioner kvar! # ************************** Minne / Datastruktur ************************ # Varje matställe representeras av ett Matplats-objekt, som har # namn (String), gjordaPortioner (int), serveradePortioner (int) # och portionskostnad (float). # Alla matställen lagras i en lista # ***************************** Algoritm ********************************* # * Programmet läser in information om en Matplats från filen. # * Nytt Matplats-objekt skapas och läggs in i en lista. # * Detta upprepas tills hela filen är inläst. # * Ber användaren mata in serverade portioner för varje matställe. # * Sorterar matställen efter vinst # * Skriver ut matställen i ordning. # * Letar rätt på det Matplats-objekt som har flest portioner kvar och # skriver ut namnet och antal restportioner. # ************************** Programskelett ****************************** # #**************************** Funktioner ********************************* # Läser från filen, skapar instanser av Matplats och lagrar i listan matstalleLista. # filnamnet är parameter # returnerar en lista med alla matställe-objekt def lasFil(filnamn ): pass # Låter användaren mata in antal serverade portioner för varje matställe. # matstalleLista som parametrar # returnerar inget def mataInServPortioner(matstalleLista) : pass # Skriver ut all information om alla matställen. # matstalleLista som parametrar # returnerar inget def skrivAllt(matstalleLista): pass # Sorterar listan plats efter vinst. # matstalleLista som parametrar #returnerar inget def sortera(matstalleLista): pass # Plockar fram det matställe som har mest rest. # matstalleLista som parametrar # returnerar en instans av klassen Matplats def dagensRest(matstalleLista): pass class Matplats(object): #*************** Klassvariabler ****************** # Försäljningspris för en portion, konstant och samma för alla instanser PORTIONS_PRIS = 45 #**************************** Metoder ********************************* # Skapar ett nytt matställe med ett namn, med ett antal # gjorda portioner, med en portionskostnaden (dvs råvarupriset) def __init__( self, namn, gp, pk ): pass #Beräknar portioner som är kvar # inga parametrar #returnerar antalet portioner som finns kvar att servera. def portionerKvar( self ): pass # Instansvariabeln serveradePortioner initieras här # parameter sp som är antal serverade portioner # returnerar inget def sattServPortion( self,sp ): pass #inga parametrar #returnerar en sträng representant av objektet def __str__( self ): pass
#beräknar vinsten # inga parametrar # returnerar vinsten def vinst( self ): pass #************ Huvudprogrammet ******************** # Läs in data från fil och skapa Matplatser # Låt användaren ange antal serverade portioner för varje # Sortera och skriv ut # beräkna och presentera "Dagens rest"