Pododdelek za spodbujanje kolesarjenja
Ker bo ta domača naloga predstavljala del ocene sprotnega dela, vam ne sme manjkati. Uspešno morate rešiti vsaj naloge za oceno 6.
Rezultati več let trajajoče študije Oddelka za motorni promet in gospodarske dejavnosti MOL so pokazali, da ljubljanske kolesarje najbolj moti to, da jih nihče ne spodbuja h kolesarjenju. Zato so ustanovili Pododdelek za spodbujanje kolesarjenja. Da bi dokazali svojo resnost, so na pododdelku tako zaposlili 16 resnih ljubiteljev kolesarjenja: vsi trije redno spremljajo televizijske prenose dirk, znajo našteti vse tri slovenske kolesarje (menda "Rogljič, Pogačnik in tisti na M"), poleg tega pa so obljubili, da se bodo v najkrajšem času tudi sami naučili dejansko voziti kolo. (Za to jim bo MOL tudi priskrbela službena kolesa, da se ne bodo vozili z lastnimi, saj jih nimajo.)
Še več, dogovorili so se, kdo se bo naučil katero od veščin, potrebnih za kolesarjenje po Ljubljani. Na osnovi tega in drugih lastnosti so sestavili organigram, kdo bo šef komu. Nekateri imajo tudi več šefov. Organigram vidimo na sliki; poleg vsakega imena so zapisane klasične veščine iz drugih nalog, poleg tega pa Ana in Jana (v resnici vzdevka - gre za naši znanki iz drugih nalog, Angelco in Johanco) obvladata še marketing in računovodstvo, ker "ne morejo vsi samo kolesariti" (je rekla Angelca).
Skoraj vse funkcije, ki jih boste napisali, bodo prejele dva argumenta, nekatere pa še tretjega.
- organigram je slovar, katerega ključi so imane "šefov", vrednosti pa množice njihovih podrejenih. Ključu "Berta" pripada množica {"Dani", "Ema", "Fanci"}. Slovar vsebuje tudi imena tistih, ki nimajo podrejenih; pripadajoča vrednost je prazna množica.
- dezorganigram je slovar, katerega ključi so imena delavcev, pripadajoče množice pa imena njihovih šefov. Ključu "Fanci" pripada vrednost {"Berta", "Cilka"}.
- vescine je slovar, katerega ključi so imena, vrednosti pa veščine, ki jih toimenska oseba obvlada. Ključu "Ema" pripada {"bolt", "robniki"}.
Katere podatke uporabite in kako - je vaša stvar.
Ocena 6
Napišite naslednje funkcije.
lojalisti(organigram, dezorganigram, sef)vrne imena vseh oseb, ki so podrejene podani osebisefin razen njega nimajo drugih šefov.shizofreniki(organigram, dezorganigram)vrne množico imen oseb, ki imajo več kot enega šefa.multipraktik(organigram, dezorganigram)vrne osebo, ki ima največ šefov. Če je takih oseb več, vrne poljubno izmed njih.butli(organigram, dezorganigram, vescine)vrne množico imen oseb, ki ne obvladajo nobene veščine.
Ocena 7
Napišite naslednje funkcije.
dezorganigram(organigram)prejmeorganigramin vrne ustrezendezorganigram. (Ali, če razmislite, tudi obratno. :)kolegi(organigram, dezorganigram, delavec)vrne imena vseh, ki delajo za istega šefa kot podanidelavec. Če imadelavecveč šefov, vrne vse, ki delajo za kateregakoli od njih.sefi(organigram, dezorganigram): pravi šef, je tisti, ki ima največ podrejenih, ki delajo samo za njega. Pravi šef je Greta, saj ima tri podrejene, ki delajo samo zanjo. Če da, recimo, Nina odpoved, pa bodo pravi šefi Ana, Berta in Greta, saj bodo imeli po dva podrejena, ki delata samo zanju. Funkcijasefimora vrniti množico vseh pravih šefov.
Ocena 8
Napišite naslednje funkcije.
zapisi(organigram, vescine, ime_datoteke)v datoteko z imenomime_datotekezapiše podatke o zaposlenih. Vsaka vrstica vsebuje ime zaposlenega, sledi podpičje, nato so naštete vse veščine (ločene z vejicami), nato vsi podrejeni, ločeni z vejicami. Vsa imena in vse veščine morajo biti urejene po abecedi. Za podpičji in vejicami je lahko (en) presledek, lahko pa ga tudi ni - kot želite.Za organigram na sliki se datoteka začne takole:
Ana; marketing, racunovodstvo, stopnice; Berta, Cilka Berta; gravel, pesci ,robniki; Dani, Ema, Fanci Cilka; avtocesta, gravel, robnik, rodeo; Fanci, Gretapreberi(ime_datoteke)prebere podatke o zaposlenih iz datoteke z imenomime_datotekein vrne par slovarjev - organigram in veščine.
Ocena 9
Za oceno 9 za začetek poskrbi, da bodo vsaj tri od štirih funkcij za oceno 6 napisane v eni vrstici, s primernimi izpeljanimi množicami.
Nato napiši naslednje funkcije:
samodrzci(organigram, dezorganigram, vescine)vrne množico imen šefov, ki znajo kaj, česar ne zna nihče od njihovih neposredno podrejenih. Eden od njih je, recimo, Cilka, ki zna voziti čez robnike, česar ne znata na Fanči na Greta.samouki(organigram, dezorganigram, vescine)vrne množico imen oseb, ki obvladajo kaj, česar ne zna nobeden od njihovih šefov. Klara, recimo, je samouk, ker obvalada rodeo (d), česar ne znata ne Ema ne Fanči.ucenjaki(organigram, dezorganigram, vescine)vrne množico imen oseb, ki obvladajo vse, kar obvladajo vsi njihovi kolegi. Dani je učenjak, ker obvlada vse, kar obvladata Ema in Fanči.
Ocena 10
Napišite naslednje funkcije.
nivo(organigram, dezorganigram, delavec)vrne nivo osebe v hierarhiji. Nivo Ane je 0, nivo Berte je 1, nivo Fanči je 2 ...stevilo_nivojev(organigram, dezorganigram)vrne število nivojev v hierarhiji. Za primer na sliki vrne 4.nadrejeni(organigram, dezorganigram, delavec)vrne množico imen vseh nadrejenih osebedelavec, vključno z osebo samo. Nadrejeni Jani so{"Ana", "Berta", "Cilka", "Dani", "Ema", "Fanci", "Jana"}.nadrejeni_zares(organigram, dezorganigram, delavec)vrne množico imen vseh nadrejenih osebe, brez te osebe same. Za Jano mora torej vrniti{"Ana", "Berta", "Cilka", "Dani", "Ema", "Fanci"}.
Testi
- 18 aprile 2024, 15:02