Informaatikaolümpiaadi üldjuhend
2001.-2002. õppeaastaks


Üldsätted

Informaatikaolümpiaadi korraldavad TÜ ja HM vastavalt 20.09.2001 sõlmitud koostöölepingule.

Informaatikaolümpiaadi eemärgid on:

Informaatikaolümpiaad toimub kolmes voorus: koolivoor, piirkonnavoor ja lõppvoor. Arvestust peetakse eraldi nooremas (kuni 10. klass) ja vanemas (11.-12. klass) vanuserühmas. TÜ juures moodustatud informaatikaolümpiaadi þüriil (edaspidi þürii) on õigus lisaks olümpiaadile korraldada õppeaasta jooksul ka teisi võistlusi (lahtisi võistlusi), ja arvestada ka nende tulemusi nii olümpiaadi lõppvooru kutsumisel kui ka Eesti võistkonna koostamisel rahvusvahelisteks informaatikavõistlusteks. Info lahtiste võistluste kohta avaldatakse Internetis ja Õpetajate Lehes.

Olümpiaadil tuleb lahendada algoritmilise iseloomuga ülesandeid. Võimalikke ülesandetüüpe kirjeldab Lisa 1. Programmeerimisülesande lahenduseks on programm keeles Basic, Pascal, C/C++ või Java. Täpsemalt kirjeldab kasutatavaid programmeerimisvahendeid Lisa 2. Ülesannete tekstid antakse igale võistlejale vastavalt tema soovile kas eesti või vene keeles. Informaatikaolümpiaadi materjalide aadress Internetis on http://www.ttkool.ut.ee/comp/olymp.

Koolivoor

Koolivoor toimub 15. detsembril 2001 informaatika- ja matemaatikaõpetajate abiga koolides, kus on võimalus võistlus läbi viia ja selle korraldamiseks avaldatakse soovi.

Korraldamissoovist tuleb teatada TÜ täppisteaduste kooli (TTK) mitte hiljem kui 30. novembriks 2001. Võistlust korraldavate koolide nimekirja koos kontaktandmetega avaldab olümpiaadikomisjon TTK veebilehel, koolid-listis ja olympiaadid-listis hiljemalt 4. detsembril 2001.

Õpilased, kelle koolis võistlust ei korraldata, võivad osalemissoovi korral võistlusest osa võtta mõnes teises võistlust korraldavas koolis, leppides eelnevalt kokku kohapealse läbiviijaga. Koolivooru ülesanded koostab þürii ja need toimetatakse koolidesse vastavalt kokkuleppele kohapealsete korraldajatega.

Lahendused saadetakse võistluspäeval kontrollimiseks koolidest TTKsse ja tulemused avaldab þürii hiljemalt 6. jaanuaril 2002 TTK veebilehel, koolid- ja olympiaadid-listis.

Koolivoorus on võistlejatel ülesannete lahendamiseks aega 4 tundi.

Piirkonnavoor

Piirkonnavooru, mis toimub 2. veebruaril 2002, kutsub þürii paremad lahendajad koolivooru tulemuste põhjal.

Piirkonnavooru toimumise täpsed kohad määratakse vastavalt sellest voorust osavõtjate elukohtadele. Täpsema informatsiooni ja kutsed piirkonnavoorus osalejatele saadab üleriigiline komisjon maakondade/linnade haridusosakondadesse. Erandina lubatakse piirkonnavoorule ka õpilased, kes mingil mõjuval objektiivsel põhjusel ei saanud koolivoorus osaleda.

Ülesannete koostamine, võistluse läbiviimine ja lahenduste kontrollimine toimub sarnaselt koolivoorule.

Piirkonnavoorus on võistlejatel ülesannete lahendamiseks aega 4 tundi.

Lõppvoor

Olümpiaadi lõppvoor toimub 9. -10. märtsil 2002 Tartus. Lõppvooru kutsub þürii õpilasi piirkonnavooru ja 20. oktoobril 2001 toimunud lahtise võistluse tulemuste põhjal. Informaatikaolümpiaadi lõppvoorule kutsutute nimed teatatakse piirkondadesse ning avalikustatakse Internetis hiljemalt 22. veebruaril 2002. a.

Lõppvoorus toimub võistlus 5-tunnise praktilise tööna IBM PC tüüpi arvutil. Võistleja poolt valitud programmeerimisvahendid on võistluse alguseks arvutile paigaldatud. Igale võistlejale antakse ketas oma programmide salvestamiseks. Igale ülesandele tuleb esitada ainult üks lahendus, mis tuleb salvestada ülesande tekstis määratud nimega faili. Kaasatoodud ketaste ja trükitud materjalide kasutamine ei ole lubatud. Töö ajal ei ole osavõtjal trükkimise võimalust. Olümpiaadi ajakavas on ette nähtud aeg programmide tööga tutvumiseks ja apellatsioonideks. Sellel ajal võib osavõtja kopeerida programmid ka oma kettale. Protestid lahendab þürii, kelle otsus on lõplik.

Kõik lõppvooru kutsutud õpilased kindlustatakse tasuta toidu ja vajadusel öömajaga. Sõidukulud ja õpilastega kaasas oleva saatja komandeerimiskulud katab lähetaja.

Rahvusvahelised võistlused

Olümpiaadi lõppvooru tulemuste põhjal valib þürii kandidaadid Eesti võistkonda Balti Informaatikaolümpiaadile Vilniuses (Leedu) ja Rahvusvahelisele Informaatikaolümpiaadile Yong-Inis (Korea). Rahvusvahelistest olümpiaadidest võivad osa võtta ka need, kes on selleks ajaks keskkooli lõpetanud. Võistkonna kandidaadid valitakse töö taseme põhjal nii noorema kui vanema vanuseklassi võistlejate hulgast (rahvusvahelised võistlused toimuvad ainult ühes vanuseklassis).

Kandidaatidele korraldatakse täiendavad õppused ja võistkond valitakse lõplikult rahvusvahelise olümpiaadi tasemele vastavate ülesannetega katsevõistlustel.

Rahvusvahelistel võistlustel on kasutusel ainult Pascal ja C/C++, seetõttu ei pääse rahvusvaheliste võistluste meeskonda õpilased, kes lõppvoorus ja valikvõistlustel kirjutavad oma tööd muudes programmeerimiskeeltes. Rahvusvahelistel võistlustel ei või Eestit esindada välisriikide kodanikud.

Lisa 1: Ülesannete tüübid

Programmi koostamise ülesanne

Seda tüüpi ülesandes tuleb leida algoritm ja realiseerida selle alusel programm antud andmetöötlusülesande lahendamiseks.

Ülesande püstitus kirjeldab, kust ja millises formaadis saab programm oma lähteandmed, millistele küsimustele on vaja nende põhjal vastata ning kuhu ja millises formaadis need vastused hindamiseks esitada. Tavaliselt on nii sisendiks kui ka väljundiks kettal olevad tekstifailid.

Seda tüüpi ülesande lahenduseks on mõnes võistlusel kasutada lubatud programmeerimiskeeles kirjutatud programm. Lahendust hinnatakse programmi arvutis testimise teel. Kuigi üldjuhul hinnatakse seda tüüpi ülesandes ainult programmi töö tulemusi, jätab þürii endale õiguse ebaausa võistluse kahtluse korral kontrollida ka programmi teksti.

Avatud testandmetega ülesanne

Seda tüüpi ülesandes tuleb leida vastused antud andmetöötlusülesande fikseeritud sisendandmete komplektile.

Ülesande püsitus kirjeldab, millises formaadis on esitatud lähteandmed, millistele küsimustele on vaja nende põhjal vastata ning millises formaadis need vastused hindamiseks esitada. Ülesande püstitusse kuulub fikseeritud komplekt sisendandmeid.

Seda tüüpi ülesande lahenduseks on nõutud formaadis väljundandmed, mis vastavad antud sisendandmetele. Lahendusi hinnatakse väljundandmete kontrollimise teel. Programmi teksti hindamiseks ei esitata. Programmi koostamine pole üldse kohustuslik, kui võistleja suudab ülesande mingil muul moel lahendada.

Programmi testimise ülesanne

Seda tüüpi ülesandes tuleb koostada testimisplaan andmetöötlusülesande lahenduse õigsuse kontrollimiseks.

Ülesande püsitus kirjeldab, millises formaadis on esitatud lähteandmed, millistele küsimustele on vaja nende põhjal vastata ning millises formaadis need vastused hindamiseks esitada. Ülesande püstitusse võib kuuluda või mitte kuuluda selle andmetöötlusülesande lahendamiseks koostatud programm.

Seda tüüpi ülesande lahenduseks on testandmete komplekt kirjeldatud andmetöötlusülesande lahenduse õigsuse kontrollimiseks. Hindamisel võetakse arvesse koostatud testandmete korrektsust ja täielikkust.

Algoritmi analüüsimise ülesanne

Seda tüüpi ülesandes tuleb analüüsida antud algoritmi.

Ülesande püstitus nõuab etteantud algoritmi ja selle omaduste mõistmist. Ülesande püsitusse kuulub kindlasti analüüsitava algoritmi inimloetav esitus, tavaliselt pseudokeelse programmina. Ülesande püstitusse võib kuuluda või mitte kuuluda selle algoritmi poolt lahendatava ülesande püstitus.

Seda tüüpi ülesande lahenduseks on põhjendatud vastused ülesande püsituses esitatud küsimustele analüüsitava algoritmi omaduste kohta. Hindamisel võetakse arvesse esitatud vastuste õigsust ja nende põhjendatust.

Süsteemianalüüsi ülesanne

Seda tüüpi ülesandes tuleb analüüsida ülesande tekstis kirjeldatud süsteemi.

Ülesande püstitus nõuab etteantud süsteemi ja selle käitumise mõistmist. Ülesande püsitusse kuulub kindlasti analüüsitava süsteemi kirjeldus, tavaliselt süsteemi kuuluvate objektide, nende omaduste ja nendevaheliste seoste loeteluna.

Seda tüüpi ülesande lahenduseks on põhjendatud vastused ülesande püsituses esitatud küsimustele analüüsitava süsteemi omaduste ja selle käitumise kohta. Hindamisel võetakse arvesse esitatud vastuste õigsust ja nende põhjendatust.

Lisa 2: Programmeerimisvahendid

Eesti informaatikaolümpiaadi kõigis kolmes voorus on võistlejatel võimalik kasutada programmeerimiskeeli Basic, Pascal, C/C++ ja Java. Lisaks sellele on lahtisel võistlusel lubatud kasutada ka programmeerimiskeeli Perl ja PHP.

Kõigis voorudes tuleb lahendus esitada lähtetekstina, mille þürii testimiseks ise kompileerib.

Kuna kõigis arvutiklassides pole kõigi programmeerimisvahendite kasutamise võimalust, peab iga võistleja registreerumisel teatama, milliseid programmeerimisvahendeid ta kasutada soovib ja lahendama kõik ülesanded valitud töökeskkonnas.

Võistluse ajal on võimalik kasutada valitud programmeerimissüsteemi standardset dokumentatsiooni elektronkujul. Trükitud manuaalide olemasolu ei saa korraldajad garanteerida.

Basic

Basicus programmeerimiseks on võimalik kasutada QBasicut. Ei ole võimalik kasutada ei QuickBasicut ega ka Visual Basicut. Kõigis voorudes kasutab þürii lahenduste testimiseks QBasicu versiooni 1.1.

QBasic on kaasas nii MS-DOSi kui ka MS Windowsi uuemate (alates ca 1990. aastast) versioonidega.

NB! Rahvusvahelistel võistlustel ei ole Basicu kasutamine lubatud, seetõttu ei pääse lõppvoorus ja valikvõistlustel Basicut kasutavad õpilased rahvusvaheliste võistluste meeskondadesse.

NB! Väga suure tõenäosusega ei ole järgmisest õppeaastast alates Basicu kasutamine lubatud ka Eesti informaatikaolümpiaadil.

Pascal

Pascalis programmeerimiseks on võimalik kasutada FreePascalit või Turbo Pascalit. Ei ole võimalik kasutada Delphit. Kõigis voorudes kasutab þürii lahenduste testimiseks FreePascali versiooni 1.0.4 või uuemat.

FreePascal on vabavara, mida saab tasuta aadressilt http://www.freepascal.org/. Turbo Pascal on kommertsprodukt, kuid selle vanemaid versioone saab tasuta aadressilt http://community.borland.com/museum/. FreePascal (üsna vana versioon) on olemas ka Phare ISE koolitarkvara CD3 peal.

C/C++

C's ja C++'s programmeerimiseks on võimalik kasutada DJGPP'd või Borland C++. Ei ole võimalik kasutada Visual C++'i. Kõigis voorudes kasutab þürii lahenduste testimiseks DJGPP versiooni 2.0.3 või uuemat.

DJGPP on GNU C/C++-kompilaatori versioon MS-DOSi ja MS Windowsi jaoks. See on vabavara, mida saab tasuta aadressilt http://www.delorie.com/djgpp/. DJGPP kasutamiseks on olemas ka töökeskkond RHIDE. See on vabavara, mida saab tasuta aadresilt http://home.lanet.lv/~pavenis/rhide.html. Borland C++ on kommertsprodukt, kuid selle vanemaid versioone saab tasuta aadressilt http://community.borland.com/museum/. DJGPP ja RHIDE (üsna vanad versioonid) on olemas ka Phare ISE koolitarkvara CD3 peal.

NB! Visual C++ kasutajatel tasub enne olümpiaadi pöörata tähelepanu sellele, et GNU kompilaator ei toeta paljusid Visual C++ mittestandardseid klasse (näiteks CFile) ja õppida kasutama nende standardseid analooge (näiteks fstream).

Java

Javas programmeerimiseks on võimalik kasutada JDK'd või Borland JBuilderit. Ei ole võimalik kasutada Symantec Cafe'd ega Visual J++'i. Kõigis voorudes kasutab þürii lahenduste testimiseks JDK versiooni 1.3.0 või uuemat.

NB! Rahvusvahelistel võistlustel ei ole Java kasutamine lubatud, seetõttu ei pääse lõppvoorus ja valikvõistlustel Javat kasutavad õpilased rahvusvaheliste võistluste meeskondadesse.

Perl

Perlis programmeerimiseks on võimalik kasutada ActiveState Perli. Perli jaoks arenduskeskkonda ei ole. Programmi teksti kirjutamiseks saab kasutada Windowis standardseid tekstiredaktoreid. Lahenduste testimiseks kasutab þürii ActiveState Perli versiooni 5.6.0 või uuemat.

ActiveState Perl on vabavara, mida saab tasuta aadressilt http://www.activestate.com/Products/ActivePerl/.

NB! Perli kasutamine on sel aastal lubatud eksperimendi korras ainult lahtisel võistlusel. Selle keele edasine saatus Eesti informaatikaolümpiaadil sõltub tänavuse katse tulemustest.

PHP

PHP's programmeerimiseks on võimalik kasutada PHP interpetaatorit. PHP jaoks arenduskeskkonda ei ole. Programmi teksti kirjutamiseks saab kasutada Windowis standardseid tekstiredaktoreid. Lahenduste testimiseks kasutab þürii PHP versiooni 4.0.3 või uuemat.

PHP on vabavara, mida saab tasuta aadressilt http://www.php.net/.

NB! PHP kasutamine on sel aastal lubatud eksperimendi korras ainult lahtisel võistlusel. Selle keele edasine saatus Eesti informaatikaolümpiaadil sõltub tänavuse katse tulemustest.