Zap 23.01.2008 14:00

Pokročilé vlastnosti jazyka C++, jejich použití pro objektové programování. Dědičnost, virtuální metody, Dynamická alokace. Šablony, generické programování, kompilační polymorfismus. Výjimky. Objektové knihovny, uživatelské kontejnery a iterátory, návrhové vzory. Nízkoúrovňové implementační techniky a konstrukce.
Odpovědět
WindowLicker
Matfyz(ák|ačka) level I
Příspěvky: 4
Registrován: 13. 2. 2006 13:16

Zap 23.01.2008 14:00

Příspěvek od WindowLicker »

Na terminu bylo 5 lidi. Nikdo nedal!!! Zadavaji p. Simek. Zadani viz priloha.
Zadani
Zadani
Prvni odesel po 10min. Dalsi dva v prubehu se slovy ze by potrebovali tak 3 dny ne 3 hodiny. Preposledni odevzdaval neco ke konci. Jak sem zaslechl tak to bylo nejak C-like, ale pravdepodobne to chodilo spravne. P .Simek ocenil kus udelane prace a odevzdavajici letel jak dobre nakopla kocka. Po konci casoveho limitu se me P. Simek zeptal jestli to mam objektove? Ja, ze ne. Tak at, ze jdu. Ale byl to joke(hahahaha). Chtel se na to kouknout, ale nemel sem hotove trideni nejtezsi cast ulohy (3/4 prace). Tak jsem s mnaucenim odesel taky. Problem je v tom ze produktu muzu byt hodne vic nez se vleze do pameti: klicem je id a pak s libovolnou kombinaci popis vyrobku; trida nebezpocnosti; bez popisu; trvanlivost atd... Dva identicke vyrobky lisici se jen v popisu jsou dva jine vyrobky.
Kdy nekdo skilled vedel jak na to... do 3 hodin a nejak hezky C++&OOP-like. Na zacatku padali terminy technikus Dedicnost, polymorfizmus, STL atd :-)
Uživatelský avatar
Tacoud
Donátor
Donátor
Příspěvky: 53
Registrován: 16. 9. 2005 08:38
Typ studia: Informatika Bc.
Bydliště: Mladá Boleslav
Kontaktovat uživatele:

Re: Zap 23.01.2008 14:00

Příspěvek od Tacoud »

Já bych to řešil tak, že bych si ty záznamy házel do vectoru (nebo podobného kontejneru). Potom je to třídění skoro zadarmo, stačí zavolat fci sort (z <algorithm>) a hodit jí nějakou vlastní fci na porovnání dvou prvků. Ta potom setřídí ten kontejner, jak je potřeba.
Co se týče polymorfismu, asi by se dal použít (jestli jsem správně počítal, je tam 6 různých typů záznamu). Takže možná mít nějakou základní třídu, ve které jsou položky společné všem typům záznamu a od ní odvodit potomky, kteří se něčím liší.
Nejpracnější mi na tomhle přijde parsování samotného zdrojáku.

Mimochodem, nevypadal ten zadávající nějak takhle ?
Spojaři všech zemí, proletujte se!
Uživatelský avatar
nardew
Matfyz(ák|ačka) level II
Příspěvky: 59
Registrován: 2. 11. 2006 10:15
Typ studia: Informatika Bc.
Bydliště: Otava - Jizni Mesto

Re: Zap 23.01.2008 14:00

Příspěvek od nardew »

Tacoud píše:Já bych to řešil tak, že bych si ty záznamy házel do vectoru (nebo podobného kontejneru).
sice toto nie je moja pisomka, ale v zadani je napisane ze vstup je nekonecny => nevojde sa ti do pamati => nemozes si to vsetko nahadzat do kontajneru a zotriedit si to.
WindowLicker
Matfyz(ák|ačka) level I
Příspěvky: 4
Registrován: 13. 2. 2006 13:16

Re: Zap 23.01.2008 14:00

Příspěvek od WindowLicker »

Jo s pameti je problem. Moje reseni bylo ze sem udelal tridy Zaznam a ruzne sem dedil. A chtel sem to hazat do vectoru, ale pak se mi libila vic mapa ale nedodelal sem :(. Nekonecnost vstupu je ze zadani - ja meditoval nad slevanim ale bohuzel nikam to nevedlo. Myslim ze zadani neni uplne korektni :(
No mozna je pan zadavajici nejaka reikarnace pana docenta.
Uživatelský avatar
hippies
Admin(ka) level I
Příspěvky: 982
Registrován: 29. 9. 2004 12:46
Typ studia: Informatika Mgr.
Bydliště: Mladá Boleslav
Kontaktovat uživatele:

Re: Zap 23.01.2008 14:00

Příspěvek od hippies »

ja chapu neomezene velikosti jako nutnost dynamicke alokace, .. kdyz nedovoli alokovat == uz ani swapovat neni kam == stejne mas problem, .. jako o tom, ze cilem bylo naimplementovat slevaci trideni silne pochybuju.
Chjo, dovede te si představit svět, kde by byla každá harmonická diferenciální forma (jistého typu) nesingulární projektivní algebraické variety racionální kombinací kohomologických tříd algebraických cyklů..
Jakobicek
Matfyz(ák|ačka) level II
Příspěvky: 53
Registrován: 26. 1. 2006 12:42
Typ studia: Informatika Bc.
Bydliště: Praha... VSE/MATFYZ

Re: Zap 23.01.2008 14:00

Příspěvek od Jakobicek »

hippies má pravdu neomezená délka vstupu, znamená, že prostě nemůžete mít pole konstantní velikosti v paměti...

jinak zadání je to ošklivé... parsování souboru je vždy nepříjemné/ vůbec nejlepší je vstup prostě to nějak zprasit... opravdu nepřemýšlejte jak udělat vstup hezký / možná nejlepší ho skoro vůbec neřešit... prostě poznám jestli je to zaměstnanec nebo položka prodeje nebo nákupu/ty hrůzy jako třída nebezpečnosti nebo cože to tam vlastně je bych neřešil...prostě vrazil do nějakého stringu další v té položce...ten může být koneckonců klidně i prázdný u první varianty/

dědičnost tu asi není to pravé ořechové /todle by mě rozhodně nenapadlo ve stresu zápočtové písemky/... rozpoznat co je co na vstupu... pak stačí jeden vektor na prodej jeden na nákup a třetí pro zaměstnance... setřídit a vypsat co je potřeba, pak není tak složité

RADA1
pokud bídný a mrzký cvičící u zápočtového testu prohlásí něco o řešení chybného vstupu ignorujte ho...

RADA2
pokud by vás během zápočtového testu napadlo odejít rozhodně neodcházejte

RADA3
pokud bídný a mrzký cvičící zadá zdánlivě nesplnitelné zadání zkuste alespoň část vyřešit ostatní na tom nebudou o mnoho lépe...

termín 0/5 viva docent zlo... :S brrr
Minsk will lead with blade and sword Boo will sort out the details
mivo

Re: Zap 23.01.2008 14:00

Příspěvek od mivo »

No, koukam na to po X letech, ale myslim, ze reseni je jedine - zadani cist od konce. Prvni krok bych volil cist vstup, zjistit, co to je za vetu - pozna se to podle toho, jestli je mnozstvi zaporne - pak to je prodej, kladne - pak to je nakup, nebo to jsou pismena, pak to je vyplata. Tim se (nekonecny) vstup uz da rozlozit konecny pocet souboru - podle druhu i podle pobocek. Zaroven si muzu v pameti urcit nejdrazsi zamestnance - jsou jen 3. Da se take predpokladat, ze pocet polozek a pocet pobocek je omezeny. Da se tedy snad vyrobit (v pameti) tabulka pobocka x polozka a kazdou nactenou vetu pricist do tabulky podle souradnic. Z ni pak vybrat pozadovane hodnoty neni problem. Kdyby to neslo - neceho bylo moc, to by byla uz opravdu prasarna, slo by tabulku udelat v souborech - nikde neni receno, ze se vystupni soubor (po rozdeleni na pobocky) nesmi znovu nacist a nebo dodatecne setridit.
Odpovědět

Zpět na „PRG032 Objektově orientované programování“