Podjetje Embi d.o.o. izdeluje embalaže vseh vrst (kartonske, plastične, kovinske...) in oblik (kocka, piramida...). Sestavi jim osnovni razred za vse embalaže Embalaza, če veš, da vsaka embalaža vsebuje podatke o:
• tipu embalaže: ker izdelujejo le končno mnogo tipov embalaže, se sme tip izbrati le izmed nekaj v naprej definiranih. V razredu Embalaza zato definirajte tabelo nizov, ki predstavljajo dovoljene tipe embalaže. Tip embalaže naj bo možno spremeniti tako, da direktno povemo tip embalaže kot niz ali pa tako, da podamo indeks tipa embalaže v tabeli tipov. Če tak tip embalaže ne obstaja, naj se vrže napaka. Poznamo vsaj plastično in kartonsko embalažo.
• obliki embalaže: za obliko veljajo enaka pravila kot za tip, le da zaenkrat poznamo le oblike: kocka, tetraeder in valj.
• barvo embalaže: barva je lahko poljuben neprazen niz.
• maso embalaže: pozitivno število.
• ceno izdelave: ker cene izdelave za splošno embalažo ne poznamo, naj bo nastavljena na 0.
Seveda mora razred vsebovati metode za nastavljanje in branje teh lastnosti ter vsaj konstruktor brez parametrov, ki ustvari embalažo s smiselnimi lastnostmi. Seveda je takšna embalaža še povsem neuporabna (ne vemo npr. na kakšni temperaturi jo lahko skladiščimo...), dodatne lastnosti embalaže pa so močno odvisne od materiala, iz katerega je embalaža izdelana. Denimo, da nas trenutno najbolj zanima plastična embalaža. Zato iz razreda Embalaza izpelji razred PlasticnaEmbalaza, ki vsebuje lastnosti:
• vrsta plastičnega materiala, iz katerega je narejena ta embalaža (izbira iz nekaj vnaprej definiranih možnosti)
• temperaturno območje, v katerem je embalaža primerna za skladiščenje. To je lastnost razreda in ne posameznega objekta!
• maksimalna nosilnost embalaže - odvisna od vrste plastičnega materiala in je enaka za vse embalaže, ki so narejene iz določene vrste plastike!
• ali je primerna za skladiščenje hrane: nekatere vrste plastike niso primene za skladiščenje hrane. Ker pa je stvar odvisna tudi od načina izdelave, je potrebno to posebej povedati za vsak objekt posebej.
• cena za kg embalaže: koliko stane 1kg plastične embalaže. Predpostavi, da vsaka plastična embalaža stane enako za kg.
Razred naj vsebuje tudi nekaj smiselnih konstruktorjev. Vsebuje naj metodo, ki pove koliko kilogramov tovora še lahko spravimo v embalažo. Je linearno odvisna od mase embalaže (v embalaži, ki tehta 1kg, lahko shranimo 5kg tovora), a ne večja od neke v naprej določene vrednosti, ki je shranjena v maksimalni nosilnosti embalaže, in jo dobimo na podlagi testiranja našega plastičnega materiala. Ker se metodologija testiranja lahko spremeni, se lahko tudi največja nosilnost velikokrat spremeni. Vsebuje naj tudi metodo, ki pove, koliko stane določena plastična embalaža. Cena je odvisna od teže te embalaže, ter od oblike. Izdelava v obliki tetraedra podraži izdelavo za 20%, izdelava v obliki valja pa za 35%.
Razred tudi preizkusi: ustvari tabelo 100 plastičnih embalaž z naključnimi začetnimi podatki. Nato med njimi poišči tako, v kateri bi lahko prepeljali hrano težko 10kg, ki stane najmanj (oblika ni pomembna, pomembno pa je, da je material ustrezen - torej tak, da dovoljuje pakiranje hrane). Ali nas stane kaj manj, če namesto hrane želimo prepeljati računalniško opremo iste teže? Kaj pa, če je pomembna tudi oblika embalaže? Denimo, da letalski prevoznik sprejme le embalažo v obliki kocke. Katera embalaža je najbolj ugodna v tem primeru (torej v prej ustvarjeni tabeli embalaž upoštevaj le tiste, ki so v obliki kocke)?
• Ustvari tudi razred KartonEmbalaza, ki naj ima iste lastnosti kor razred PlasticnaEmbalaza. Vemo, da je ta embalaža vedno primerna za hrano, a ima nižjo nosilnost kot plastična embalaža (embalaža teže 1kg zdrži le okrog 2kg tovora) in nekoliko nižje stroške izdelave (izdelava embalaže težke 1kg nas stane 900 SIT).
Razred preveri na enak način kot razred PlasticnaEmbalaza. • Sestavi testni program, ki bo ustvaril naključno mnogo plastičnih in kartonastih embalaž (a vsaj 100 vsake vrste) in jih shrani v tabelo. Med njimi nato poišči takšno embalažo, ki bo:
• najprimernejša za prevoz hrane teže 1 kg v obliki valja.
• najprimernejša za prevoz hrane teže 100 kg v obliki kocke.
• najprimernejša za prevoz strojenih kož mase 2 kg katerekoli oblike.
• najprimernejša za prevoz strojenih kož mase 20 kg v obliki tetraedra.
Opomba: z "najprimernejša" seveda mislimo najcenejša. Po koncu prejšnje naloge morate imeti tri razrede: Embalaza, PlasticnaEmbalaza in KartonEmbalaza. Uporabite jih za rešitev sledečih problemov:
• Podjetu "Halo, Kitajc!" se je nabralo kar nekaj kosov plastične in kartonske embalaže (1000 kosov vsake). Upoštevajte, da so embalaže različnih tež, oblik, varv, tipov plastike... zato jih naključno generirajte. Ker so se sklenili porabiti zalogo, za vsako naročilo posebej vzamejo najprimernejšo (beri najcenejšo) embalažo, ki je ustrezna. Pomagaj jim izbati najprimernejšo embalažo, če za vsako naročilo poznaš težo blaga, ki ga je potrebno dostaviti in ali je blago hrana. Podatke o naročilu naključno generiraj - naročil naj bo vsaj 100 in ko enkrat neko embalažo porabiš, je ne smeš več uporabiti.
• Prevozniki so podjetje opozorili, da vsaka oblika embalaže ni primerna za vse vrste transporta. Tako na letala sprejemajo le embalažo v obliki kocke, za transport mleka hočejo le tetraedre... Zato poleg vsakega naročila izveš še, kakšne oblike naj bo embalaža. Poišči najcenejšo!
• Za dostavo nekega zdravila zdravniška zbornica zahteva, da je zapakirano v embalaži iz plastike tipa HDPE ali PETE, ki mora biti valjaste oblike in mora imeti nosilnost vsaj 200% višjo, kot je dejanska masa zdravila. Poišči najprimernejšo embalažo, če ti povedo maso zdravila.
• Na koncu leta so v podjetju delali inventuro in zanimalo jih je, koliko denarja lahko dobijo s prodajo vse embalaže, ki jim je ostala. Pomagaj jim in izračunaj skupno vrednost vseh vrst embalaže, če veš, da je v tem času embalaža v obliki kocke izgubila 10%, embalaža v obliki valja 20% in embalaža v obliki tetraedra 30% svoje vrednosti.


