A 2011/2012 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

Hasonló dokumentumok
A 2008/2009 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

A 2009/2010 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

A 2010/2011 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

A 2015/2016 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

A 2012/2013 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

A 2007/2008 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. II. (programozás) kategória

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Informatikai tehetséggondozás:

PROGRAMOZÁSI TÉTELEK

A 2012/2013 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. II. (programozás) kategória

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. INFORMATIKA II. (programozás) kategória

Informatikai tehetséggondozás:

Értékelési útmutató 1. oldal

Programozási tételek. Dr. Iványi Péter

Egyszerű programozási tételek

A 2010/2011 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának megoldása. II. (programozás) kategória

Közismereti informatika I. 4. előadás

Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.

Oktatási Hivatal. A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. II. (programozás) kategória

A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny második forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Dinamikus programozás II.

Hatékonyság 1. előadás

14. Mediánok és rendezett minták

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

ELEMI PROGRAMOZÁSI TÉTELEK

Visszalépéses maximumkiválasztás

Algoritmusok és adatszerkezetek I. 7. előadás

Időjárási csúcsok. Bemenet. Kimenet. Példa. Korlátok. Nemes Tihamér Nemzetközi Informatikai Tanulmányi Verseny, 2-3. korcsoport

Algoritmizálás, adatmodellezés tanítása 8. előadás

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Adatszerkezetek II. 6. előadás

RENDEZÉSEK, TOVÁBBI PROGRAMOZÁSI TÉTELEK

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny második forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

Adatszerkezetek II. 7. előadás

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Web-programozó Web-programozó

Gyakorló feladatok az 1. nagy zárthelyire

Programozási alapismeretek 3. előadás

Programozási segédlet

Algoritmizálás, adatmodellezés tanítása 2. előadás

Algoritmizálás, adatmodellezés tanítása 1. előadás

O k t a t á si Hivatal

Országos Középiskolai Tanulmányi Verseny, 2004/2005-ös tanév INFORMATIKA, II. (programozói) kategória második fordulójának javítási útmutatója

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny második forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Informatikai tehetséggondozás:

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga

A 2010/2011 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának megoldása. II. (programozás) kategória

Országos Középiskolai Tanulmányi Verseny 2006/2007-os tanév INFORMATIKA, II. (programozás) kategória második fordulójának feladatai

hatására hátra lép x egységgel a toll

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Gyakorló feladatok ZH-ra

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatai. INFORMATIKA II. (programozás) kategória

PROGRAMOZÁSI NYELVEK (GYAKORLAT)

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai. INFORMATIKA II. (programozás) kategória

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Visszalépéses kiválogatás

Felvételi tematika INFORMATIKA

INFORMATIKA tétel 2019

A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).

Összetett programozási tételek

Partíció probléma rekurzíómemorizálással

Közismereti informatika 2.zh T-M szakirány

Programozási tételek. Jegyzet. Összeállította: Faludi Anita 2012.

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatai. INFORMATIKA II. (programozás) kategória

Informatikai tehetséggondozás:

Dinamikus programozás vagy Oszd meg, és uralkodj!

Multihalmaz, intervallumhalmaz

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Arany Dániel Matematikai Tanulóverseny 2010/2011-es tanév 1. forduló haladók III. kategória

Mohó stratégia 2. előadás

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

Informatikai tehetséggondozás:

INFORMATIKAI ALAPISMERETEK

Adatbázis rendszerek Gy: Algoritmusok C-ben

Haladó rendezések. PPT 2007/2008 tavasz.

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Algoritmizálás és adatmodellezés tanítása 9. előadás

Informatikai tehetséggondozás:

A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Informatikai tehetséggondozás:

Oktatási Hivatal. A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai. II. (programozás) kategória

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Algoritmizálás és adatmodellezés tanítása 2. előadás

Algoritmizálás és adatmodellezés tanítása 6. előadás

Mohó stratégia. Feladat: Megoldás:

Informatikai tehetséggondozás:

2. forduló. MEGOLDÁSOK Pontszerző Matematikaverseny 2014/2015 tanév. 1. Számkeresztrejtvény:

Arany Dániel Matematikai Tanulóverseny 2012/2013-as tanév 1. forduló haladók III. kategória

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

INFORMATIKAI ALAPISMERETEK

Bevezetés az informatikába

Halmaz típus Értékhalmaz:

Algoritmizálás, adatmodellezés tanítása 2. előadás

OKTV 2007/2008 Informatika II. kategória döntő forduló Feladatlap. Oktatási Hivatal

Átírás:

Oktatási Hivatal A 2011/2012 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása INFORMATIKÁBÓL II. (programozás) kategóriában Kérjük a tisztelt tanár kollégákat, hogy a dolgozatokat az egységes értékelés érdekében szigorúan az alábbi útmutató szerint pontozzák, a megadott részpontszámokat ne bontsák tovább! Vagyis ha egy részmegoldásra pl. 3 pontot javasolunk, akkor arra vagy 0, vagy 3 pont adható. (Az útmutatótól eltérő megoldások is lehetnek jók.) 1. feladat: Időjárás (20 pont) Az ország N településére kaptuk meg az M napos időjárás-előrejelzést, a H(N,M) mátrixban, ahol H(i,j) az i-edik településen a j-edik napra várható maximális hőmérséklet. Az alábbi algoritmus megadná a legszélsőségesebb településeket, azaz azokat, ahol a legkisebb és a legnagyobb várt hőmérséklet eltérése maximális. A. Jelöld be, mik a hibák benne! B. Mi az eredmény és melyik változókban van? C. Mi a szerepe az A és a B változónak? Szélsőséges(N,M,H): C:=0 Ciklus i=1-től N-ig A:=H(i,1); B:=H(i,M) Ciklus j=2-től M-ig Ha H(i,j)>A akkor A:=H(i,j) Ha H(i,j)<B akkor A:=H(j,i) Ha A-B>C akkor D:=D+1; Y(D):=i; C:=A-B különben ha A-B=D akkor D:=D+1; Y(B):=i A. A helyes megoldásban aláhúzás jelöli az elrontott helyeket. Szélsőséges(N,M,H): C:=-1 Ciklus i=1-től N-ig A:=H(i,1); B:=H(i,1) Ciklus j=2-től M-ig Ha H(i,j)>A akkor A:=H(i,j) Ha H(i,j)<B akkor B:=H(i,j) Ha A-B>C akkor D:=1; Y(D):=i; C:=A-B különben ha A-B=C akkor D:=D+1; Y(D):=i 2+ 2+ Értékelési útmutató 1/5 OKTV 1. forduló

B. D a feltételnek megfelelő települések száma az Y tömb 1..D eleme a megfelelő települések sorszáma C. A az i-edik település maximális, B pedig a minimális hőméséklete 2+ 2. feladat: Gyorsabbra (20 pont) Az alábbi algoritmus megadja azt a H hosszú szakaszt az N elemű T tömbben, ahol a legtöbb prímszám van. A T tömb 1 és M közötti egész számokat tartalmaz. Feltehető, hogy N sokkal nagyobb, mint M. A K változó a szakasz kezdete lesz, a Van pedig igaz lesz, ha van olyam szakasz, ahol legalább 1 prímszám van. Írd át hatékonyabbra (gyorsabbra) és magyarázd is a megoldásod! Szakasz(N,T,H,K,Van): D:=0; Van:=hamis Ciklus i=1-től N-H+1-ig Db:=0 Ciklus p=i-től i+h-1-ig Ha prím(t(p)) akkor Db:=Db+1 Ha Db>D akkor K:=i; D:=Db; Van:=igaz Prím(x): j:=2 Ciklus amíg j<x és j nem osztója x j:=j+1 prím:=j=x Függvény vége. A részpontszámok 50%-a jár a magyarázatért, 50%-a pedig a megoldásért. j<x helyett j gyök(x) lehet részpont: j x/2 esetén adható 4 pont T(p) között lehetnek egyformák, ha felhasználja, hogy az adott számról korábban már kiderült, hogy prím-e, akkor 6 pont Részpont: ha előállítja a 2 és M közötti prímszámokat és a prímszámvizsgálatban azokkal oszt, akkor 4 pont adható. van:=igaz helyettesíthető az eljárás vége előtt Ha D>0 akkor Van:=igaz utasítással A p-s ciklus felesleges (pontosabban a külső ciklus előtt egy H hosszú szakaszra ki kell számolni Db-t), a H hosszú szakaszok egymáshoz képest 2 elemben térnek el, a kilépő miatt Db eggyel csökken, ha az prím volt; a belépő miatt eggyel nő, ha prím volt 4+4 pont Értékelési útmutató 2/5 OKTV 1. forduló

Egy gyors megoldás (memorizálás, kumulatív összegzés, gyors prímvizsgálat): Szakasz(N,T,H,K,Van): D:=0; Van:=hamis; PR(1..M):=(hamis,...,hamis); Db:=0 Ciklus i=1-től H-ig Ha PR(T(i)) akkor Db:=Db+1 különben ha prím(t(i)) akkor PR(T(i)):=igaz; Db:=Db+1 Ciklus i=2-től N-H+1-ig Ha PR(T(i-1)) akkor Db:=Db-1 különben ha PR(T(i+H-1)) akkor Db:=Db+1 különben ha prím(t(i+h-1)) akkor PR(T(i+H-1)):=igaz Db:=Db+1 Ha Db>D akkor K:=i; D:=Db Ha D>0 akkor Van:=igaz Prím(x): j:=2 Ciklus amíg j gyök(x) és j nem osztója x j:=j+1 prím:=j>gyök(x) Függvény vége. 3. feladat: Taxi (20 pont) Egy taxis vállalkozó N megálló között szállít utasokat minibusszal. Egy menetben mindig az 1. megállótól indul és az i-edik megállótól (i<n) az i+1-edik megállóba kell mennie. Ismeri az utasok igényeit, tehát minden utasról tudja, hogy melyik megállótól melyik megállóig akar utazni. A taxin egyszerre legfeljebb K utas utazhat. Számold ki az alábbi esetekre, hogy legjobb esetben összesen hány utast tud egy menetben az utas igényének megfelelő helyre elszállítani és add meg, hogy melyikeket! A. K=3, az igények: (1,7), (2,3), (2,3), (2,3), (3,5), (3,5), (4,7), (6,8). B. K=2, az igények: (1,6), (2,4), (3,6), (4,5), (5,8), (6,7) C. K=3, az igények: (2,3),(2,5),(2,5),(3,5),(3,6),(3,9),(4,6),(5,10),(6,10),(7,9),(8,9),(9,10) D. K=4, az igények: (2,3),(2,5),(2,5),(3,5),(3,6),(3,9),(4,6),(5,10),(6,10),(7,9),(8,9),(9,10) A. utasok száma: 7, utasok: 2,3,4,5,6,7,8 2+3 pont B. utasok száma: 5, utasok: 2,3,4,5,6 2+3 pont C. utasok száma: 8, utasok: 1,4,5,7,9,10,11,12 2+3 pont D. utasok száma: 10, utasok: 1,3,4,5,7,8,9,10,11,12 2+3 pont Értékelési útmutató 3/5 OKTV 1. forduló

4. feladat: Kitaláló (20 pont) Egy N elemű T tömbben egész számok vannak. Kezdetben a tömb minden elemére igaz, hogy T(i) T(2*i) és T(i) T(2*i+1), feltéve hogy 2*i N, illetve 2*i+1 N). Két eljárás-párt írtunk: Egyik(x), A(i) és Másik(x), B(i) Egyik(x): N:=N+1; T(N):=X; A(N) A(i): Ha i>1 és T(i)<T(i div 2) akkor Csere(T(i div 2),T(i)); A(i div 2) Másik(x): x:=t(1); T(1):=T(N); N:=N-1; B(1) B(i) Ha 2*i N akkor j:=2*i Ha j<n és T(j+1)<T(j) akkor j:=j+1 Ha T(i)<T(j) akkor Csere(T(i),T(j)); i:=j különben i:=n+1 Elágazás vége A. Add meg az A eljárás minden hívásában, hogy az elágazás feltételének vizsgálatakor mi a globális T tömb elemeinek értéke, ha kezdetben T=(1,3,6,5,4,7,8) és x=2! B. Add meg a B eljárás minden hívásában, hogy a külső elágazás feltételének vizsgálatakor mi a globális T tömb elemeinek értéke, ha kezdetben T=(1,2,6,3,4,7,8,5) és mennyi lesz x értéke! C. Milyen feltétel teljesül a Csere művelet után az A eljárásban T(i),T(2*i) és T(2*i+1) értékére? D. Milyen feltétel teljesül a Csere művelet után a B eljárásban T(i),T(2*i) és T(2*i+1) értékére? E. A B eljárásban a j index értéke a Csere művelet kezdetekor hogyan függ a globális T tömb elemeitől? A. T=(1,3,6,5,4,7,8,2) T=(1,3,6,2,4,7,8,5) T=(1,2,6,3,4,7,8,5) B. T=(5,2,6,3,4,7,8) x=1 C. T(i) T(2*i) és T(i) T(2*i+1) 3 pont D. Ha T(N) min(t(2),t(3)) biztos igaz volt, tehát T(N) T(1) helyére kerül és emiatt nem T(1) lesz a legkisebb, minden más elemre igaz marad a T(i) T(2*i) és T(i) T(2*i+1) 2+ E. j értéke a T(2*i) és a T(2*i+1) közül a kisebb indexe; 3 pont j értéke 2*i, ha 2*i=n Értékelési útmutató 4/5 OKTV 1. forduló

5. feladat: Képátló (20 pont) Adott egy N x N pixelből álló fekete-fehér kép. Szeretnénk a képen a bal felső saroktól a jobb alsó sarokig egy jobbra-lefele haladó határvonalat húzni úgy, hogy a vonaltól jobbra-felfele eső fekete (0 értékű), valamint a vonaltól balra-lefele eső fehér (1 értékű) pixelek számának K összege a lehető legkevesebb legyen. A határvonalra eső pixelek nem számítanak bele. Add meg, a megoldást az alábbi bemenetekre! A. 1 1 1 1 1 1 0 0 1 1 0 1 1 0 0 B. 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 C. 1 1 1 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 D. Add meg azt a T[i,j] függvényt, ami az (i,j) ponttól jobbra lefelé adja a megoldást! Segédfüggvényeket használhatsz hozzá. A. K=3 3 pont B. K=1 3 pont C. K=3 3 pont D. T i, j min T i 1, j S i, j 1, T i, j 1 O i 1, j, ha i<n és j<n 4 pont T[i,j]=0, ha i=n vagy j=n ahol S[i,j]= az i-edik sorban a j től jobbra levő 0-k száma O[i,j]= a j-edik oszlopban az i től lefelé levő 1-esek száma 3 pont 3 pont Összpontszám: 100 pont Beküldési határ: 40 pont Értékelési útmutató 5/5 OKTV 1. forduló