Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Delphi
Reportáž z mezinárodní soutěže v programování ICP
29. října 2001, 00.00 | Ve dnech 17.-19. října se na Invexu v Brně konalo finále
mezinárodní soutěže v programování ICP (International
Competition in Programming). Jako jeden z účastníků
přináším čtenářům Builderu o této akci reportáž.
Ve dnech 17.-19. října se na Invexu v Brně konalo finále mezinárodní soutěže v programování ICP (International Competition in Programming). Jako jeden z účastníků přináším čtenářům Builderu o této akci reportáž. A jelikož jsem se této soutěže účastnil už druhým rokem, sem tam v článku nejspíš narazíte na srovnání s ročníkem předchozím.
Systém soutěžeSoutěž je pořádaná Ministerstvem školství, mládeže a tělovýchovy (spolupořadatelem je Stanice techniků Vyšehrad) a je určena pro 16-19leté programátory (tedy vesměs středoškoláci, i když prvák VŠ se tam také "vmáčkne"). Jde o soutěž mezinárodní, a tak se přihlásit může občan kteréhokoliv státu. V praxi se soutěže kromě Čechů účastní hlavně Ukrajinci, Bělorusové, Litevci a jiní ze zemí na východ od nás; na druhou stranu loni zde byl i jeden Rakušan a dokonce Španěl.
Systém soutěže je dvoukolový - v březnu je vyhlášeno zadání korespondenčního kola a soutěžící mají zhruba dva měsíce na jeho vypracování. Výsledný program s dokumentací pak zašlou organizátorům, kteří všechny programy vyhodnotí a dvacet nejlepších účastníků pak postupuje do finále soutěže, které se tradičně koná na Invexu v Brně. A o letošním finále právě tento článek je.
První denVe středu se soutěžící sjeli na výstaviště v Brně, kde se konala prezence a v podvečer pak hromadný odjezd na ubytovnu (Střední odborné učiliště spojů), kde byl zajištěn nocleh a stravování po celou dobu soutěže. Tohoto prvního bodu programu jsem se neúčastnil, jelikož jsem přijel z Prahy později a tak jsem se musel na ubytovnu sám. Zde bych vytknul organizátorům, že jaksi nezaregistrovali přejmenování zastávky tramvaje Jundrovská na Vozovna Komín, a nezanesli tuto skutečnost do materiálů, které každý účastník dostal. Alespoň mě to způsobilo menší navigační problémy - ale na ubytovnu jsem nakonec dorazil. Kvalita ubytování a stravování (oboje placeno organizátory) byla dobrá, pokoje byly dokonce lepší než u nás na koleji (a to je Troja, kde bydlím, jedna z těch lepších kolejí v Praze).
V 19:00 bylo vyhlášeno zadání finále. Jelikož je ICP soutěží mezinárodní, celé zadání je anglicky a také veškerá komunikace s porotou (upřesňující dotazy apod.) musí probíhat v tomto jazyce.
Tématem celého tohoto ročníku ICP bylo síťové programování a úkol tomu byl patřičně přizpůsoben. Cílem bylo naprogramovat distribuovaný výpočet hledání prvočísel ve velkém intervalu. Bylo tedy potřeba vytvořit server, který přiděluje jednotlivé subintervaly klientům. Vše muselo fungovat v síti TCP/IP.
K zadání bych měl několik výhrad. Jednak bylo poměrně vágně formulováno (což vyústilo v řadu doplňujících dotazů, např. nebylo vůbec řečeno v jaké formě prezentovat vypočítané výsledky), jeden odstavec (pátý) byl evidentně chybný (nebo jsem ho naprosto nepochopil - to posuďte sami). Největší výhradou ale byla obtížnost - resp. právě neobtížnost úkolu (o tom ale později).
Druhý denTento den se konala vlastní soutěž. Po ránu jsme hromadně odcestovali na výstaviště do pavilonu O, kde byla připravená místnost s počítači - tam probíhala vlastní soutěž. Oproti loňsku zde byly počítače, na kterých se dalo dokonce rozumně pracovat (loni zde byly snad 486 s 14" monitorem). Na samotné programování jsme měli 4 hodiny. Večer při zadávání nám sice bylo řečeno, že budeme mít 5 hodin, ale oproti loňsku to bylo jisté zlepšení (tehdy nám totiž po dvou hodinách programování bylo oznámeno, že soutěžní čas je zkrácen z 5 hodin na 3,5).
Serverovou i klientskou část programu bylo nutno ladit na jednom počítači - z hlediska TCP/IP je úplně jedno, jestli je IP adresa serveru 127.0.0.1 ("localhost") nebo třeba 192.168.1.5 (jiný síťový počítač). Takže dvě vývojová prostředí otevřená najednou a multitaskingu, ukaž se v praxi :-)
Soutěžící se v podstatě rozdělili na dvě skupiny - ti co zadání nepochopili nebo nedovedli rozběhnout svůj program na TCP/IP síti a na ti, kteří vše pochopili a zprovoznili. V tom byl právě háček, protože relativně dost lidí implementovalo celé zadání (nejtěžší bylo udržet synchronizaci distribuovaného výpočtu a přehled v tom, co už je spočítáno a co nikoliv). Rozhodovalo se tedy podle podrobnějších kriterií (např. kvalita komunikačního protokolu, "čistota" kódu (moje slabá stránka, když jde o rychlost)). Předseda poroty Jiří Olmer se později přiznal, že rozhodování o několika prvních místech bylo velmi těžké, protože programy byly na stejné úrovni. (V jistou chvíli dokonce s nadsázkou tvrdil, že o první místa se losovalo.)
V 17:00 se konalo slavností vyhlášení výsledků a předávání cen. Něco vyhrál každý (knížku, časopisy apod.), ale hlavní ceny získali první tři. Největšími sponzory soutěže byly firmy Broland a Microsoft, a tomu odpovídaly i výhry: Windows XP Professional Edition, Delphi 6, C++ Builder, hra Age of Empires...
Je trochu škoda, že se nevyhrávaly nějaké "hmotnější" ceny, jako třeba nový počítač, protože programátoři většinou už svůj oblíbený vývojový nástroj mají dávno nainstalovaný na disku (i když upgrade na novou verzi se také hodí).
Já jsem v celkovém pořadí skončil třetí (ze sedmnácti). Zajímavý moment přišel ve chvíli, kdy mi zástupce Microsoftu předával krabici s Windows XP se slovy, že je to jistě můj první legálně nainstalovaný operační systém. Poněkud jsem ho totiž "umrtvil" slovy, že už mám Linux, čemuž se všichni bůh ví proč hlasitě smáli :-). Nakonec dotyčný zástupce prohlásil, že mě to přejde. Nevím, možná až budu mít na koleji počítač, na kterém Windows XP plynule rozběhám... Zatím mi celkem stačí Windows 95.
Třetí denPoslední den se už nic nedělo, alespoň pro mne, protože jsem z Brna odjel ještě ve čtvrtek večer. Teoreticky měli soutěžící možnost ještě přespat v noci ze čtvrtka na pátek na ubytovně a ráno po snídani odjet.
ZávěrCelkově byla soutěž trochu rozporuplná, řekl bych nedůsledně připravená, ať už po stránce programování, tak organizačně. Oproti loňsku konstatuji mírný pokles úrovně, která ale i tak zůstala "v plusu". Co se nepochybně zlepšilo, byly podmínky pro práci (rychlejší počítače).
Je ale škoda, že tento ročník soutěže byl kvůli rozpočtovým škrtům na ministerstvu školství ročníkem posledním. Myslím si, že mladí programátorští nadšenci tímto přicházejí o jednu z možností zjistit, jak na tom jsou se zvými dovednostmi, a poznat se s ostatními "podobně potrefenými" (a to vše navíc v mezinárodním měřítku). Jedinými programátorskými soutěžemi určenými především pro středoškoláky tak zůstává pouze Mistrovství ČR v programování a matematická olympiáda kategorie P (pokud se pořádá ještě nějaká soutěž, tak mě její existence nějakým způsobem zřejmě minula).
Oficiální stránky soutěže: http://www.stv.cz/icp
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007