Zkouška 28.5.2007

LnK
Matfyz(ák|ačka) level I
Příspěvky: 26
Registrován: 9. 6. 2006 11:19
Typ studia: Informatika Bc.
Bydliště: Troja

Zkouška 28.5.2007

Příspěvek od LnK »

Uff :)
Lehce po devate hodine nam Forst dal vybrat jedno ze ctyr cisel. Kdyz jsme si vybrali c. 44 cely se rozzaril s tim, ze tuhle ulohu uz nekolik let nezadaval a ze jsme si vybrali velmi dobre. Nevim, jak ostatni, ale me to jeho nadseni celkem vydesilo :D Lehke uklidneni prislo az po te, co prozradil jmeno zadani, SORT

Kód: Vybrat vše

SORT

Zadani jednoduche: napiste ekvilalent tridici funkce sort.
- parametry, ktere ma zvladat:
      -t nasledovan jednim znakem definuje oddelovac poli
      -k<poradove_cislo_pole>[, <poradove_cislo_pole>]  tedy pole, podle kterych se ma tridit, a pripadne jeste nektera z pismenek: 
                  n (trideni numerickeho pole)
                  b (ignorovani mezer)
                  f (ignorcase)
                  r (reverzne)
       soubor ke trideni (jen jeden)

  vstup tedy muze vypadat treba jako: sort -k3,4n -k5br -t: file

- trideni ma byt stabilni (!)
- predpokladame, ze se vstupni soubor nevejde do pameti
- zakano pouzivat kupodivu sort, ale zato povolena rozsireni (vcetne treba execu)
Na psani byly dve hodiny cisteho casu, k dispozici jeden pocitac s FreeBSD. Po dvou a pul hodine na opraveni nam pak Forst hromadne vysvetlil, jak se dala uloha resit a kde byly nejcastejsi chyby. Co si pamatuju, tak zminoval treba:
- Sortovani vetsina pry delala bud klasicky mergovanim, nebo rozlamanim vstupu po radcich do jednotlivych souboru a ty pak tridit treba nejakym bubblesortem
- Revrezne neznamena setridit soubor normalne a pak ho vypsat v obracenem poradi - to by uz pak nebylo stabilni. Je poreba reverse/normalne uvazovat uz ve funkci, ktera nam porovnava dva radky
- Vice "-k" ve vstupu navrhoval resit tak, ze se je budu vsechna postupne pamatovat, pak setridim podle posledniho, pak predposledniho... az k prvnimu.
- Nebyl nadseny z toho, ze pry hodne lidi nacitalo vstup (jako parametry) velmi kostrbate
Snad me ostatni pripadne opravi/doplni...

Ad uspesnost: Bylo nas 14. Rovnou rekl, ze u ctyr lidi se mu pisemka az na detaily libila (= rovnou jednicka), u dalsich tri vicemene ok (= rovnou dvojka), u trech lidi se mu to nelibilo vubec a poslal je domu, a u zbylych ctyr "se mu reseni nelibi, ale mozna ho jen nepochopil" a jeste si s nimi o tom promluvi na ustni casti. Snad pak prozradi, jak dopadli...

Drzim palce vsem, kteri maji unix jeste pred sebou.
Him
Supermatfyz(ák|ačka)
Příspěvky: 400
Registrován: 25. 1. 2008 19:59
Typ studia: Informatika Bc.

Re: Zkouška 28.5.2007

Příspěvek od Him »

http://www.martinvseticka.eu/?sekce=browse&page=119 - tak jsem dokoncil dalsi ulozku, cele je to zalozene na prikazu expr; zrejme to pujde resit i lepe, napady jsou vzdy vitane :-)
Pracoval jsem na poměrně hodně materiálech pro různé předměty. Pokud Ti něco z toho ušetřilo čas, vyjádři svůj dík v podobě pár satoshi: 1H5JPTrsXie7epAQXbXhMjdgwyLbJ5NHBW ;)
Odpovědět

Zpět na „2006“