Oktatási Hivatal 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató INFORMTIK II. (programozás) kategória 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ó. (z útmutatótól eltérő megoldások is lehetnek jók.) 1. feladat: Növény (37 pont) Egy síkban növekvő növény egyes darabjait az,, betűkkel jelöljük. növekedés egy időegységében megadjuk minden darabra, hogy a következő időegységben mi lesz belőle. Kezdetben mindig egy darab típusú elemből áll a növény, amely felfelé néz. Példa: az, és átalakítási szabályai: fenti szabályokkal az egyetlen típusú elemből álló növény így fejlődik 3 időegységben: Segítség: síkbeli rajzokat egyetlen karaktersorozattal is leírhatjuk. Ebben minden betű a növény 1 szakaszát jelöli, az aktuális szakaszból 90 fokkal jobbra ágazó részt () zárójelek, a balra ágazó részt pedig [] zárójelek közé tesszük. Így a fenti szabályok:, (),, a zárójeleket pedig a helyükön hagyjuk. növény növekedése: () ()(). Rajzold le az első 4 időegységben a növény fejlődését, ha az alábbi szabályokat kell alkalmazni! szabályok karaktersorozattal:,, () OKTV 2013/2014 1. oldal 1. forduló
Informatika II. kategória. Rajzold le az első 4 időegységben a növény fejlődését, ha az alábbi szabályokat kell alkalmazni! szabályok karaktersorozattal:,, [](). 21 pont (ahány betűt helyesen helyettesít a következő ábrában azaz pl. az 1. időegységre az egy betűt jól helyettesíti, akkor erre a részre 1 pont jár; a 2. időegységre a betűket kellett helyettesíteni, ami 3 pont lehet, ha mind a három helyettesítés jó volt) () ()() (())()(). 16 pont (ahány betűt helyesen helyettesít a következő ábrában) []() []()[]()[]() OKTV 2013/2014 2. oldal 1. forduló
2. feladat: Mit csinál (60 pont) z alábbi algoritmus az,, (mindhárom >0) egész számok alapján számolja ki D értékét. Valami(,,,D): :=; :=; := iklus amíg nem(= és =) Ha > akkor :=+ Ha > akkor :=+ Ha > akkor :=+ iklus vége D:=. Mi lesz D értéke, ha =3, =2, =5? Hány összeadás történik a ciklusban?. Mi lesz D értéke, ha =16, =4, =8? Hány összeadás történik a ciklusban?. Mi lesz D értéke, ha =12, =42, =18? Hány összeadás történik a ciklusban? D. Fogalmazd meg általánosan, hogyan függ D értéke a bemenettől! E. Fogalmazd meg képlettel, hogyan függ az összeadások száma,, és a kiszámolt D értékétől!. D=30, összeadások száma: 28 6+6 pont. D=16, összeadások száma: 4 6+6 pont. D=252, összeadások száma: 38 6+6 pont D. z eredmény a három bemeneti érték legkisebb közös többszöröse lesz 12 pont E. z összeadások száma=d/+d/+d/-3 12 pont 3. feladat: datok (48 pont) z alábbi algoritmus N nemnegatív adatot kap bemenetként (N>2, X(1)=0, X(N)=0, X(i) 0) az X vektorban, amelyekből több értéket számol ki: Valami(N,X,,,): :=0; D:=0; E:=0 iklus i=2-től N-ig Ha X(i-1)=0 és X(i)>0 akkor D:=0; E:=0 Ha X(i)>0 akkor D:=D+1 Ha X(i)>E akkor E:=X(i) Ha X(i)=0 és X(i-1)>0 akkor :=+1; ():=D; ():=E iklus vége. Melyik kimenő paraméternek mi lesz az értéke az alábbi 14 elemű X vektor esetén? OKTV 2013/2014 3. oldal 1. forduló
. Fogalmazd meg általánosan az egyes kimenő paraméterek szerepét!. Milyen X vektor esetén lehet az eljárás végén =0? (Általános megfogalmazás, vagy konkrét 5 elemű X vektor adható.) D. Mi a szerepe a D és az E segédváltozónak? E. Milyen X vektorra lesz adott N esetén a lehető legnagyobb? (Általános megfogalmazás, vagy konkrét 7 elemű X vektor adható.). =3, =(2,3,3), =(4,3,5) 5+5+5 pont. a nem 0-kat tartalmazó szakaszok száma, (i) értékei az ilyen szakaszok hosszai (elemszámai), (i) értékei pedig az ilyen szakaszok maximumértékei 5+5+5 pont. Ha az X vektorban minden elem 0 5 pont D. D az aktuális, nem 0-kból álló szakasz hossza; E az aktuális, nem 0-kból álló szakasz maximuma 4+4 pont E. Ha az X vektor minden második eleme 0, minden második pedig nem 0 5 pont 4. feladat: ékák (25 pont) Egy N+M+1 hosszú mezőn N barna és M zöld béka áll szemben egymással, közöttük egyetlen üres hellyel. Például N=2, M=1 esetén: Z barna békák jobbra szeretnének eljutni, a zöld békák balra úgy, hogy a mezőt nem hagyják el. Minden lépésben egy béka léphet üres helyre, ami vagy szomszédos, vagy egy béka átugrásával érhető el. cél az, hogy a békák a lehető legrövidebb idő alatt helyet cseréljenek, azaz a fenti példa esetén így helyezkedjenek el: Z. dd meg N=2, M=1-re, hogy minimum hány lépésben cserélhetnek helyet a békák, és adj meg egy ilyen lépéssorozatot is!. dd meg N=2, M=2-re, hogy minimum hány lépésben cserélhetnek helyet a békák, és adj meg egy ilyen lépéssorozatot is! (a lentiektől különböző más jó lépéssorrend is lehet) OKTV 2013/2014 4. oldal 1. forduló
. lépésszám: 5, a lépések egy lehetséges megoldásban: lép, Z ugrik, lép, ugrik, Z lép 5+5 pont (ha hosszabb, de jó megoldást ad, akkor 0+5 pont adható). lépésszám: 8, a lépések: lép, Z ugrik, Z lép, ugrik, ugrik, Z lép, Z ugrik, lép (vagy ugyanez Z és felcserélésével) 5+10 pont (ha hosszabb, de jó megoldást ad, akkor 0+10 pont adható) 5. feladat: Geometria (30 pont) Kaptunk egy függvényt, amelynek három síkbeli pont a paramétere. sak a következőket tudjuk róla: fordul(,,)<0, ha -ból -n keresztül - felé haladva -ben balra kell fordulni. fordul(,,)=0, ha -ból -n keresztül -felé haladva -ben egyenesen kell továbbhaladni. fordul(,,)>0, ha -ból -n keresztül -felé haladva -ben jobbra kell fordulni. Mit adanak eredményül a következő algoritmusok? dd meg Db és Q értékét, ha N=10 és P=( (1,5), (2,6), (3,8), (4,6), (5,3), (6,14), (7,0), (8,8), (9,5), (10,5) )! Fogalmazd meg általánosan, mely pontok sorszáma kerül be a Q vektorba a 2. pont után, ha a P vektor a pontokat x-koordináta szerint növekvő sorrendben tartalmazza! lfa(n,p,db,q): Db:=1; Q(Db):=2 iklus i=3-tól N-ig Ha fordul(p(1),p(i-1),p(i))<0 akkor Db:=Db+1; Q(Db):=i iklus vége éta(n,p,db,q): Db:=1; Q(Db):=2; a:=2 iklus i=3-tól N-ig Ha fordul(p(1),p(a),p(i))<0 akkor Db:=Db+1; Q(Db):=i; a:=i iklus vége OKTV 2013/2014 5. oldal 1. forduló
Gamma(N,P,Db,Q): Db:=1; Q(Db):=2; a:=2; b:=2 iklus i=3-tól N-ig Ha fordul(p(1),p(a),p(i))<0 akkor Db:=Db+1; Q(Db):=i; a:=i Ha fordul(p(1),p(b),p(i))>0 akkor Db:=Db+1; Q(Db):=i; b:=i iklus vége lfa: Db=4; Y=(2,3,6,8) 1+4 pont Y: azon pontok sorszáma, amelyek az előzőhöz képest balra látszanak az elsőből 5 pont éta: Db=3; Y=(2,3,6) 1+4 pont Y: azon pontok sorszáma, amelyek a másodikhoz képest balra látszanak az elsőből, és nem takarja őket szakasz 5 pont Gamma: Db=6; Y=(2,3,4,5,6,7) 1+4 pont Y: azon pontok sorszáma, amelyek a másodikhoz képest balra vagy jobbra látszanak az elsőből, és nem takarja őket szakasz 5 pont Összpontszám: 200 pont eküldési határ: 80 pont OKTV 2013/2014 6. oldal 1. forduló