# Zápočet 30. 6. odpoledne

<{ForumPost(poster="Chjoodge", timestamp=2007-05-31 09:20:02)}>
No dneska velepohoda - naprogramujte program, který v souboru na standardním vstupu spočítá výskyty jednotlivých identifikátorů a vypíše na standardní výstup jejich seznam podle četnosti pořadí sestupně a u každého identifikátoru připíše seznamy řádek, na kterých se vyskytuje. Identifikátor je nepřerušená posloupnost písmen, číslic a podtržítek, která nezačíná číslem.  
  
Takže pokud je na vstupu:  

    Neco Pole[10]
    Trida Instance;
    Instance.Metoda(Nejdulezitejsi_Parametr_5);
    // ============================
    Bla 
    Bla 
    Bla
    

Tak na výstupu bude:  

    Bla 4 5 6
    Instance 2 3
    Trida 2
    Neco 1
    Pole 1
    Metoda 2
    Nejdulezitejsi_Parametr_5 3

Délku identifikátoru můžeme omezit konstantou, všechno ostatní (počet identifikátorů, počet řádků, délka řádku) je omezeno jenom integerem.  
  
Bylo povoleno STL, což z toho dělá docela lehké zadání. Na práci bylo tři hodiny času.
<{/ForumPost}>

<{ForumPost(poster="Filip Zavoral", timestamp=2007-05-31 12:08:13)}>

 > Chjoodge wrote:No dneska velepohoda

No .. mozna velepohoda (po cca hodine, kdyz to odevzdali 3 studenti jsem si rikal, jestli jsem to s tou jednoduchosti moc neprehnal), ale pak to stejne nadpolovicni vetsina neudelala :-(  
Prakticky vsichni neuspesni meli temer stejny problem - nejak to naprogramovali, ale kdyz to pustili na aspon trochu realna data (vlastni zdrojak), tak jim to nekde 'odletelo'. A ani za dalsi hodiny to nebyli schopni odladit.  
Na spouste z nich bylo videt, ze pojmy jako krokovani, breakpoint, watch apod. povazuji za sprosta slova a pro jistotu se jimi nikdy nezabyvali.  
Pouceni: spis nez 'biflovani' nejakych algoritmu a prikladu se naucte pouzivat ladici prostredky (mimochodem velmi komfortni) a neucte se v realnem case lokalizovat chybu v ne zcela trivialnim kodu a opravit ji. Bez vlastnorucni praxe se programovat (= vyrabet bezbugovy software, nikoliv zapisovat algoritmy) naucit nelze.
<{/ForumPost}>

<{ForumPost(poster="Chjoodge", timestamp=2007-05-31 20:23:26)}>

 > No .. mozna velepohoda (...), ale pak to stejne nadpolovicni vetsina neudelala :(

Aha, to je škoda. Nicméně pro toho, kdo si breakpoint kliknout umí, to byl přiměřeně obtížný zápočet neustřelený do nějaké turbovektorové kalkulačky, což jsem právě kvitoval tou "pohodou".
<{/ForumPost}>

<{ForumPost(poster="MarPol", timestamp=2007-06-08 13:21:50)}>
Tak toto zadání se opakovalo i dnes, protože původní dozor s původním zadáním se nedostavil. Po hodince a půl jsem měl hotovo, takže skóre bude muset doplnit někdo jiný.
<{/ForumPost}>

