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 ):
#beräknar vinsten
# inga parametrar
# returnerar vinsten
def vinst( self ):
return 0
#************ 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"