A verseny tárgya, követelményei:
A verseny elsődleges célja az, hogy az általános és a középiskolák tanulóinak lehetőséget adjon programozási ismereteik és képességeik összehasonlítására. Egyúttal szeretnénk segítséget adni a számítástechnika iránt érdeklődő tanulóknak és tanáraiknak az iskolai foglalkozások tematikájának összeállításához. A versenybizottság nyílt, szívesen látjuk mindazok észrevételeit, kritikáját, részvételét a versenyek céljának meghatározásában, előkészítésében és megszervezésében, akik ezt társadalmi munkában vállalják, és akik maguk semmilyen módon nem érdekeltek a versenyben.
A 3 vagy 2 órás első fordulóban a tanulók analizáló képességét tesszük próbára számítógép használata nélkül
2007/2008-ban a versenybizottság újabb kísérletet indított, az 1. korcsoport 1. fordulójának lebonyolítását megváltoztatta. A Logo OSzTV-hez hasonlóan e korcsoport első fordulójában 60 perces írásbeli és 60 perces számítógépes feladatrészt kell a versneyzőknek megoldaniuk.
A második fordulóban 3-5 kisebb, konstruáló, szintetizáló jellegű feladatot kell megoldani számítógépen; a rendelkezésre álló idő 5 (az I. korcsoportnál 3) óra. Csak a futási eredményt értékeljük, nem pedig a megírt program szövegét.
A harmadik fordulóban 2-5 nagyobb, esetleg már részben megoldott, konstruáló, szintetizáló jellegű feladatot kell megoldani.
Arra törekszünk, hogy a versenyfeladatok a problémamegoldó, algoritmizáló, modellalkotó, modularizáló készséget mérjék fel. A Pascal nyelv használatában való jártasságot elvárjuk a versenyzőktől, de fontosnak tartjuk más programnyelvek (pl. BASIC, Logo, C++, Prolog, assembly stb.) szemléletmódjának ismeretét is. A hangsúly nem az egyes nyelvek részleteinek, hanem a módszeres programozás fogalmainak, elveinek és gyakorlatának, a helyes programozási módszereknek és stílusnak géptől és nyelvtől független ismeretén van.
Elvárt alapvető ismeretek középiskolásoktól:
- Egy Neumann-elvű programozási nyelv elemei. Szintaxisábrák, BNF-jelölés. Strukturált vezérlési szerkezetek: felsorolás (szekvencia), választás (elágazás), ismétlés (ciklus), rekur-zió.
- Adattípusok: egész, valós, logikai, karakter, szöveg. Összetett adatok: tömb, halmaz, rekord, lista, verem, sor, fa, gráf, állomány stb. Láncolt ábrázolás.
- Fölülről lefelé haladó programozás lépésenkénti finomítással. Programok élesztése, tesztelése, hatékonysági megfontolások.
- Számábrázolás bináris, oktális, decimális, hexadecimális számrendszerben. Átalakítások, alapműveletek. Fixpontos és lebegőpontos ábrázolás. Pontosság, túlcsordulás.
- Boole-algebrai és matematikai logikai alapismeretek.
- Programozási típusalgoritmusok. Pl. rendezések, keresések, megszámolás, összegzés, maximumkiválasztás, kiválogatás, stb.
- Szövegfeldolgozási algoritmusok: tömörítés, keresés.
- Gráfalgoritmusok, gráfbejárás, fabejárás.
- Dinamikus programozás, mohó algoritmusok, kombinatorikus és geometriai algoritmusok.
és általánosiskolásoktól:
- Egy Neumann-elvű programozási nyelv egyszerűbb elemei. Strukturált vezérlési szerkezetek: felsorolás (szekvencia), választás (elágazás), ismétlés (ciklus).
- Adattípusok: egész, valós, logikai, karakter, szöveg. Összetett adat: tömb, halmaz.
- Fölülről lefelé haladó programozás lépésenkénti finomítással. Programok élesztése, tesztelése, hatékonysági megfontolások.
- Számábrázolás bináris, decimális számrendszerben. Alapműveletek. Pontosság, túlcsordulás.
- Boole-algebrai és matematikai logikai alapismeretek.
- Programozási típusalgoritmusok. Pl. rendezések, keresések, megszámolás, összegzés, maximumkiválasztás, kiválogatás, stb.
A versenyt három korcsoportban hirdetjük meg:
- I. korcsoport: 5-8. osztályosok
- II. korcsoport: 9-10. osztályosok
- III. korcsoport: 11-12. osztályosok
A verseny három fordulóból áll:
- A verseny iskolai fordulóját minden jelentkező iskola saját tantermében rendezheti meg, de több iskola közösen is megrendezheti.
- A regionális fordulót az erre vállalkozó oktatási intézmények rendezik meg a saját körzetükhöz tartozó iskolák diákjai számára.
- Az országos fordulót Budapesten rendezzük meg az Eötvös Loránd Tudományegyetem számítógéptermeiben.
A verseny három fordulójában semmilyen írásos segédeszköz nem használható.
A regionális, illetve az országos forduló eredményében az előző forduló eredményét 25%-os súllyal figyelembe vesszük:
- az iskolai fordulóban maximum 200 pontot lehet kapni, ebből legfeljebb 50 pontot visz tovább a versenyző a regionális fordulóba
- a regionális fordulóban maximum 150 "új" pontot lehet szerezni, az iskolai fordulóból hozott maximális 50 ponttal együtt tehát nem több, mint 200 pontot visz tovább versenyző az országos fordulóba
- az országos fordulóban ugyancsak maximálisan 150 "új" pontot lehet összeszedni, a helyezési sorrend megállapításához, ehhez adjuk hozzá a regionális fordulóból hozott maximum 50 pontot.
Használható szoftvereszközök
A versenyzők saját választásuk szerint MS-Windows vagy Linux operációs rendszer alatt dolgozhatnak a következő programokkal, programozási környezetekkel:
- Geany (Free Pascal) - fpc fordítóval
- gcc
- MS Visual C#
- Lazarus (Delphi) - fpc fordítóval
- Code:Bocks - gcc fordítóval
- Java nyelv
- Python
Pontos részletekért nézze meg az aktuális versenyfelhívást!
Az egyes versenyhelyszíneken lehet a megadottaknál magasabb verziószámú fordítóprogram, erről az illetékes versenybizottság értesíti a versenyzőket.
Ajánlott irodalom
Alapvető számítástechnikai és programozási ismeretek
- Szlávi P., Zsakó L.: Módszeres programozás, MK, Budapest, 1986
- Számítástechnika középfokon, OMIKK, Budapest, 1987
- J. Hvorecky, J. Kelemen: Ötlettől az algoritmusig, TK, Budapest, 1987
- C.H.A. Koster: Programozás felülnézetben, MK, Budapest, 1988
- Gács P., Lovász L.: Algoritmusok, TK, Budapest, 1987
- D.E. Knuth: A számítógép-programozás művészete. 1-3., MK, Budapest, 1987-88
- T.H. Cormen et al.: Algoritmusok. MK, 1997
- Rónyai L., Ivanyos G., Szabó R.: Algoritmusok, TYPOTEX, 1999
Nyelvek
- Gordon E., Körtvélyesi G., Sós I., Székely Z.: Pascal programozási nyelv, SzÁMALK, Budapest, 1987
- Dusza Á.: Turbo Pascal 6.0 az alapoktól, APC Studió, 1994
- Benkő Tné, Benkő L. Tóth B.: Programozzunk C nyelven!, ComputerBooks, 2000
- Dusza Á.: Algoritmusok Pascal nyelven, 2005
Alkalmazások
- Filep L.: Játékelmélet (középiskolai szakköri füzet), TK, Budapest, 1985
- J. Nievergelt, J.C. Ferrar, E.M. Reingold: Matematikai problémák megoldásának számítógépes módszerei, MK, Budapest, 1977
Példatárak
- Programozási feladatok I-II., Kossuth Kiadó, Budapest, 1997
- Programozási versenyfeladatok tára (1985-1994), NJSzT, Budapest, 2002
- Programozási versenyfeladatok tára (1995-1999), NJSzT, Budapest, 2005
- Programozási versenyfeladatok tára (2000-2004), NJSzT, Budapest, 2007
Letoltheto tananyagok, példatárak
Példatárak
- Programozási versenyfeladatok I.
- Programozási versenyfeladatok II.
- Programozási versenyfeladatok III.
- Programozási versenyfeladatok IV.
- Programozási versenyfeladatok V.
C#
Részvételi adatok
Versenybizottságok
A regionális versenybizottságok:
Minden megyében -Budapestet is beleértve- több RVB is lehet, de ezek egymással mindenben egyeztetnek, s a második forduló után közös regionális eredményt hirdetnek. Egy helységen belül -Budapestet kivéve- kijelöltünk egy elsődleges résztvevőt, akinek az OVB a leveleket küldi, s ő adja tovább azokat a város többi RVB-tagjának. Ha egy településen két vagy több iskola is fogad versenyzőket a regionális fordulóban, megoszthatják egymás között a versenyzőket (a) terület, (b) korcsoport szerint.
Az egyes bizottságok és elérhetőségeik
Országos Versenybizottság:
Az Országos Versenybizottság (OVB) egyetemi-főiskolai oktatókból, valamint olyan tanárokból áll, akik jelenleg közvetlenül nem érintettek a középiskolai oktatásban. Középiskolai tanár tagjaink olyan funkciókban szerepelnek, amelyek nem kapcsolódnak a verseny feladatsoraihoz. Az OVB feladatainak ellátásához a BME és az ELTE számos hallgatójával bővíti létszámát.
Az OVB vesz részt nemzetközi versenyek előkészítésében, válogatóversenyek szervezésében és lebonyolításában.
Elérhetőségek:
- NJSzT OVB
1364 Budapest, Pf. 201.
Tel.: (1) 472-2720, Fax: (1) 472-2728
E-cím: nemestihamer@inf.elte.hu
titkárság: aranyos@njszt.hu - Horváth Gyula
ELTE IK Média- és Oktatásinformatikai Tanszék,
1117, Budapest, Pázmány Péter sétány 1/C.
Tel.: (1) 372 2500/,
E-cím: horvath@inf.elte.hu - Zsakó László
ELTE IK Média- és Oktatásinformatikai Tanszék,
1117, Budapest, Pázmány Péter sétány 1/C.
Tel.: (1) 372 2500/8468
Fax: (1) 381-2140
Nevezés
Mindig az aktuális versenyfelhívás szerint.
Diákolimpiai válogatóversenyek
Az IOI válogatóversenyen az Informatika OKTV Programozás kategóriájának elso 20-25 helyezettje vehet részt (a résztvevok pontos számát a versenyek eredményének ismeretében az Országos Versenybizottság állapítja meg). Az IOI válogatóverseny résztvevoje az Izsák Imre Gyula matematika-fizika-számítástechnika verseny gyoztese.
A CEOI válogatóversenyen az Informatika OKTV Programozás kategóriájának elso 20-25 helyén végzett 11. osztályos tanulók, valamint a II. kategkorcsooport elso 3-6. helyén végzett 9-10. osztályos tanulók vehetnek részt (a résztvevok pontos számát a versenyek eredményének ismeretében az Országos Versenybizottság állapítja meg). Kiemelkedo eredmény esetén az I. korcsoport gyoztese is indulhat a válogatóversenyen. A CEOI válogatóverseny résztvevoje az Izsák Imre Gyula matematika-fizika-számítástechnika verseny gyoztese, ha legfeljebb 11. osztályos tanuló.
Mindkét válogatóverseny jogosult résztvevői a korábbi diákolimpiák korcsoportban megfelelő magyar résztvevői.