Naloge 2
Blok
Definirajte razred Blok, ki opisuje stanovanjski blok s podanim številom nadstropij. V vsakem nadstropju bo eno stanovanje. Razred naj ima naslednje metode:
- Konstruktor sprejme kot argument število nadstropij v bloku.
vseli(nadstropje, ime)v nadstropjenadstropjevseli osebo z imenomimein vrneTrue. Če je stanovanje že zasedeno, pa pusti v njem prejšnjega lastnika in vrneFalse.stanovalec(nadstropje)vrne ime stanovalca v podanem nadstropju. Če je stanovanje še prazno, vrneNone.izseli(nadstropje)sprazni stanovanje v nadstropjunadstropje. Metoda ne vrne ničesar.kamorkoli(ime)vseli osebo s podanim imenom v najvišje prosto stanovanje in vrneTrue. Če je ves blok že povsem poln, vrneFalse.
Naselje
Definirajte razred Naselje, ki opisuje stanovanjsko naselje s poimenovanimi hišami. Ima naj naslednje metode:
- Konstruktor sprejme kot argument seznam z imeni hiš.
vseli(hisa, ime)v hišohisavseli osebo z imenomimein vrneTrue. Če je hiša že zasedena, pusti v njem prejšnjega lastnika in vrneFalse.stanovalec(hisa)vrne ime stanovalca v podani hiši. Če je še prazna, vrneNone.izseli(hisa)sprazni podano hišo. Metoda ne vrne ničesar.prostih()vrne število prostih hiš.
Knjižnica
Definirajte razred Knjizica, v katerem bo knjižnica beležila, katere knjige ima nekdo sposojene, in računala zamudnino. Objekt Knjizica se nanaša na posameznega člana knjižnice.
- Konstruktor naj nima argumentov in naj le pripravi, kar mora.
izposodi(naslov, datum)zabeleži, da si je lastnik te knjižice na podani datum izposodil knjigo s podanim naslovom.izposojeno()vrne množico z naslovi vseh knjig, ki jih ima trenutno izposojene lastnikKnjizice.vrni(naslov)pokličemo, ko član vrne določeno knjigo.zamudnina(danasnji_datum)izračuna zamudnino.
Z datumi in zamudnino je takole. Datum je podan kot številka – konkretno, gre za število dni, odkar je knjižnica odprta. Če je datum, recimo, 42, to pomeni 42. dan po odprtju knjižnice.
Knjige si je možno izposoditi za 21 dni. Če si nekdo izposodi knjigo na 10. dan, potem na 31. dan še ne plača zamudnine. Kasneje znaša zamudnina en evro za vsak dan za vsako knjigo. Recimo, da si nekdo izposodi dve knjigi, eno na 10. dan in eno na 15. dan. Prvo knjigo ima lahko do 31. dneva in drugo do 36. dneva. Funkcija zamudnina(40) (torej "danes je 40. dan, koliko zamudnine je dolžan) mora vrniti 13, to je, 9 + 4 – devet za prvo knjigo in 4 za drugo.