Algoritmikus gondolkodás szintfelmérő az ELTE IK programozó BSC képzésére felvettek részére A feladatok a HÓDítsd meg a biteket verseny (CC by NC-SA) kérdéseiből kerültek kiválogatásra. Megoldásukhoz semmilyen programozói előképzettségre nincs szükség. Az algoritmikus gondolkodás egyes szintjeit, problémamegoldást tesztelnek. A megoldókulcs tartalmazza az egyes szintek és azon belüli nehézségek megnevezéseit is. A feladatsor 16 kérdést tartalmaz, 60-70 perc alatt megoldható. Összesen 72pont gyűjthető, melynek 80%-a 57,6pont. Emellett érdemes a Nemes Tihamér verseny feladatainak megoldása. Ezek kiemelt, kimondottan programok írásával kapcsolatos feladatok. A megoldókulccsal együtt elérhetőek: http://nemes.inf.elte.hu/nemes_aktualis.html#feladatok oldalon. 1. Soundex (1p) Dénes szeretne szavakat a kiejtésük alapján kódolni. Ehhez a következőket teszi: Megtartja az első betűt (érintetlenül). Az összes többi betű közül kihúzza az A, E, I, O, U, H, W és Y betűket. A többi betűt számokkal helyettesíti a következőképpen: o B, F, P vagy V 1 o C, G, J, K, Q, S, X vagy Z 2 o D vagy T 3 o L 4 o M vagy N 5 o R 6 Ha az előállított szóban egy szám többször szerepel, és a betűk, melyekből létrehozták ezeket, az eredeti szövegben közvetlenül egymás mellett álltak, csak egyszer tartja meg a jelölést. Ez akkor is érvényes, ha az első betű kerülne átalakításra. Végül csak az első 4 karaktert (beleértve az első megmaradt betűt) tartja meg. Ha nem lett 4 karakter hosszú az új szó, akkor hátulról 0-kal kiegészíti. A Következő szavakat így kódolta át: Euler E460 Gauss G200 Melyik kódot állítja elő a Hilbert szóból? Heilbronn H416 Kant K530 Lloyd L300 Lissajous L222 2. Labdák (1p) Számozott golyók gurulnak le egy rámpán. A golyók sorrendje aszerint változik, ahogy beesnek lyukakba. Ha egy golyó egy lyukhoz ér, amelyben van még hely, akkor a golyó beleesik. Máskülönben a golyó átgurul a lyuk fölött. A lyuk alján elhelyezett rugókkal kilőhetők a lyukba begurult golyók. ELTE IK alg. gondolkodás teszt CC by NC-SA 1
Például: 5 golyó mielőtt elkezd gurulni Miután a golyók megálltak A rugó indítása utáni végső helyzet Tíz golyó gurul az alábbi rámpán. A három lyukba (A, B, C) 3, 2 és 1 golyónyi hely van, ahogy az ábra is mutatja. A lyukak rugóit sorrend ben (A, B, C) indítjuk el, de csak azután, hogy minden golyó megállt. Milyen sorrendben állnak legvégül a golyók? 3. Önző mókusok (2p) A mókusok odukban élnek. Egy fán öt odú helyezkedik el egymás felett. A képen látható fán tizenhat mókus él, ami azt jelenti, hogy együtt élnek ebben az öt odúban. Minden nap minden mókus ellenőrzi, melyik szomszédos odúban található a legkevesebb mókus. Ez azt jelenti, hogy megszámolják, hány szomszédjuk van a felettük vagy az alattuk lévő odúban. A következő éjszaka eltöltésére minden mókus azt a szomszédos odút választja, amelyikben a legkevesebben aludtak. Ha az egymás alatti odukban ugyanannyian aludtak, a mókusok a saját odujukat részesítik előnyben a felettük vagy alattuk lévőhöz képest. ELTE IK alg. gondolkodás teszt CC by NC-SA 2
Ha például ma 5, 0, 0, 4 és 7 mókus alszik az odukban (fentről lefelé haladva), akkor holnap a következőképpen fog kinézni a helyzet: mind az 5 mókus, aki a legfelső odúban töltötte az éjszakát, a közvetlenül alattuk lévő odúba fog költözni (mivel 0 lakótárs jobb, mint 4). A legalsó barlang 7 mókusa feljebb fog költözni (4 lakótárs jobb, mint 6), és a 4, a legalsó odú fölötti odúban alvó mókus eggyel feljebb költözik (0 szomszéd jobb, mint 3). Ha ma kezdetben (fentről lefelé haladva) 6, 3, 3, 0 illetve 4 mókus található az egyes odukban, akkor hány nap múlva lesz végül minden mókus ugyanabban az odúban? 4. Papírhajtogatás (2p) A hódok kifejlesztették a papírhajtogatás nyelvét. A nyelv leírása az, ahogyan egy papírral egyenes éleket hajtunk. Ebben a nyelvben az utasításokat HAJTÁS-nak hívják. z = HAJTÁS(x,y) azt jelenti: hajts egy darab papírt úgy, hogy az x éle pontosan az y élére kerüljön. Így egy új él áll elő, melyet z-nek nevezünk. Például két utasítással egymásután: e = HAJTÁS(a,b) f = HAJTÁS(a,e) Vegyél egy négyszögletes papírt, melynek a b, d élei kétszer olyan hosszúak, mint az a, c élei. A papírt a hajtogatás alatt az asztalon kell hagynod (elfordítás nélkül). Hajtsd végre a következő utasításokat egymás után: e = HAJTÁS(c,a) f = HAJTÁS(c,d) g = HAJTÁS(a,f) Hogy néz ki a papír a hajtogatások után? A B C D ELTE IK alg. gondolkodás teszt CC by NC-SA 3
5. Szigorúan titkos (3p) Xaver, Yvonne és Zoé rendszeresen lottóznak. Most tudódott ki, hogy valaki a városból nyerte meg a főnyereményt. Szívesen megtudnák, hogy közülük van-e a nyertes, de szeretnék titokban is tartani, ki az. Ezért a következőt teszik: Xaver és Yvonne feldob egy érmét. Xaver és Zoé feldob egy érmét. Yvonne és Zoé feldob egy érmét. Minden esetben csak a 2 érintett nézi meg az egyes érmedobások eredményét. Mindenki elmondja, hogy a két érme-feldobás eredménye azonos vagy különböző : Annak, aki nem nyerte meg a lottó főnyereményt, igazat kell válaszolnia. Ha valaki a lottó nyertese, akkor az eredmény ellenkezőjét kell válaszolnia. A képen egy példa látható az elvégzett érmefeldobásokkal és azzal a kitétellel, hogy Zoé nyerte meg a lottó főnyereményt. Nézd meg a következő helyzetet, ahol az érmefeldobás eredménye számodra nem ismert: A következő kijelentések közül melyik igaz? A. A barátok egyike sem nyert a lottón. B. A barátok egyike nyert a lottón, de nem tudjuk melyikük. C. A barátok egyike nyert a lottón, és pontosan tudjuk, ki. D. Nem tudjuk, hogy valaki nyert-e a lottón. 6. Sorok és oszlopok (3p) A jobb oldali diagramot a játéktábla alapján a következőképpen készítettük: Minden követ egy körrel ábrázolunk. 2 követ összekötünk egy vonallal, ha a játéktáblán ugyanabban a sorban vagy ugyanabban az oszlopban találhatóak. A köveken és a diagram köreiben szereplő betűk segítenek az ellenőrzésben. Az alábbi játéktáblán 6 kő található: Melyik diagram ábrázolja a 6 köves játéktáblánkat? ELTE IK alg. gondolkodás teszt CC by NC-SA 4
A B C D 7. Csillag mobilok (4p) A csillag-mobilok olyan művészeti alkotások, melyek szálakból, rudakból és csillagokból állnak. Egy szálon lóghat valahány számú csillag vagy egy rúd, melynek mindkét végén egy újabb csillag-mobil lóg. A képen egy egyszerű csillag-mobil látható. Számokkal és zárójelekkel így írhatjuk le: (-3 (-1 1) (1 1)) (2 3) A számok a következőket adhatják meg: vagy a rúd végének a távolságát attól a száltól, amelyen a rúd lóg, vagy a csillagok számát. A zárójelek a csillag-mobil felépítését mutatják. Hogy néz ki az a csillag-mobil, melyet így írtuk le? (-3 (-1 4) (2 (-1 1) (1 1))) (2 (-1 6) (2 3)) 8. Véletlen képek (4p) Egy gyárban a következő módszerrel készítenek csomagolópapírokat: A nyomtatógép színes köröket és négyszögeket tervez, majd ezeket papírlapokra nyomtatja. A masina minden alkalommal a következő utasításokat hajtja végre: ELTE IK alg. gondolkodás teszt CC by NC-SA 5
1. Tervezz egy kört, színezd ki egy véletlenszerűen kiválasztott színnel és nevezd el K-nak 2. Ismételd meg véletlenszerűen sokszor a következő 4 utasításból álló blokkot 2.a Tervezz egy véletlenszerűen kiválasztott színű és nagyságú négyszöget, majd nevezd N-nek 2.b Véletlenszerűen határozd meg K méretét NAGYnak vagy KICSInek 2.c Nyomtasd K-t egy véletlenszerűen kiválasztott helyre a papírlapon 2.d Nyomtasd N-t egy véletlenszerűen kiválasztott helyre a papírlapon Melyik papírlapot NEM ezzel a nyomtatógéppel készítették? A B C D 9. Bontsd részekre a számsort (5p) Egy különleges szövegkódoló rendszer minden betűt a 0 és 9 közötti számjegyekből készített kóddá alakít. A sajátossága az, hogy semelyik kód nem kezdődhet egy másik betű kódjával. Egy példa: Az X betűt 12-ként kódolja. Ekkor az Y-t kódolhatja 2-ként. Így sem a 12 nem kezdődik 2-vel, sem a 2 12-vel. Most a Z-t 11-ként kódolhatja, mivel sem 12 sem 2 nem kezdődik 11-gyel és a 11 sem kezdődik 2-vel vagy 12-vel. A 21 már nem engedélyezett a Z kódolására, hiszen 2-vel kezdődne, ami viszont már az Y-hoz tartozó kód. A BEBRAS szót a rendszer így kódolta: 12112233321 Melyik számsor jelölheti az A betűt? 10. Játék a golyókkal (5p) Emilnek van egy új játéka a számítógépén. A játék legalább három színes (piros vagy kék) golyóval kezdődik, amelyek egy csőben sorakoznak. Miután rákattint egy gombra, mindkét alsó golyó kiesik a csőből, valamint felülről új golyók esnek bele a csőbe. Ekkor két lehetőség van, a kattintás előtt legalul lévő golyó színétől függően: ELTE IK alg. gondolkodás teszt CC by NC-SA 6
Ha a legalsó golyó piros volt, egy kék színű golyó esik felülről a csőbe. Ha a legalsó golyó kék volt, három golyó esik felülről a csőbe, piros-kék-piros sorrendben. Amíg legalább három golyó van a csőben, Emil újra és újra rákattint a gombra. A játék akkor ér véget, ha kevesebb, mint három golyó marad a csőben. Egy példa: ha Emil ezzel a golyósorrenddel kezd, öt kattintás után csupán két kék golyó marad benn, és a játék véget ér. Emil felfedezi, hogy léteznek olyan golyósorrendek a játék kezdetén, amelyekkel a játék sohasem ér véget, mindegy hányszor kattint. Az ilyen golyósorrendeket végtelen sorozatoknak hívja. Az alábbi hármas kezdő-sorozatok melyike NEM végtelen sorozat? A B C D ELTE IK alg. gondolkodás teszt CC by NC-SA 7
11. Rövidítés vagy kitérő (6p) Az alábbi ábra egyirányú utak kapcsolatát ábrázolja. A kereszteződésekben található szám azt jelzi, hogy az S pontból hány egység hosszú a legrövidebb út az adott kereszteződésig. Az alábbi állítások közül melyik igaz mindig a két vastagon kiemelt (piros) kereszteződésről? A. A két kereszteződés közötti legrövidebb út hossza pontosan 8 egység. B. A két kereszteződés közötti legrövidebb út hossza 8 vagy 8-nál kevesebb egység. C. A két kereszteződés közötti legrövidebb út hossza 8 vagy 8-nál több egység. D. Semmi sem állapítható meg az adott kereszteződések közötti legrövidebb út hosszáról. 12. Igaz vagy hamis (6p) Alíz és Tomi igaz vagy hamis játékot játszanak az osztályterem mágnestáblájánál. Alíz hét különböző mágnest tesz a táblára. Ezután állításokat mond a mágnesek alakjáról, színéről, nagyságáról és elhelyezkedéséről. Egy állítás igaz, a többi hamis. Tamásnak ki kell találnia, melyik állítás igaz. Melyik állítás igaz? A. Van két mágnes X és Y úgy, hogy X sötétkék és Y világossárga és X Y felett van. B. Minden tetszőleges két X és Y mágnesre igaz, hogy ha X egy négyzet és Y egy kör, akkor X Y felett van. C. Minden tetszőleges két X és Y mágnesre igaz, hogy ha X kicsi és Y nagy, akkor X jobbra van Ytól. D. Minden tetszőleges két X és Y mágnesre igaz,hogy ha X világossárga és Y sötétkék, akkor X Y alatt van. ELTE IK alg. gondolkodás teszt CC by NC-SA 8
13. Kalózvadászat (7p) A Kalózvadászat játék a következőképpen folyik: a rendőrség és a kalóz felváltva lépnek. Amikor a rendőrség következik, a rendőrök egyikének a mellette lévő szabad helyre kell lépnie. A kalóz mindig két mezőt lép tovább. A játék akkor ér véget, ha a kalóz már csak olyan mezőre tud lépni, ahol rendőr áll. Ekkor a kalóz vesztett, a rendőrség pedig nyert. A rendőrség tehát megpróbálja a kalózt ilyen helyzetbe kényszeríteni. A játék a képen látható felállással kezdődik és a rendőrség kezd. Tegyük fel, hogy a kalóz nem hibázik. Van esélye a rendőrségnek, hogy nyerjen? Ha igen, hány lépésben? 14. Fogpiszkálós játék (7p) Helga és Béla egy társasjátékot játszanak: A játékban két halom fogpiszkáló van az asztalon és a játékosok felváltva kerülnek sorra. A soron következő játékosnak a következő lépéseket kell megtennie: (1) Teljesen elveszi az egyik kupacot az asztalról. (2) Szétosztja az asztalon maradt fogpiszkálókat két kisebb kupacra. Az a játékos nyer, aki két, pontosan egy-egy fogpiszkálóból álló kupacot hagy az asztalon. Helga kezdi a játékot. A játék 24 fogpiszkálóval indul két kupacba osztva. Melyik kezdő elosztásban tud nyerni Helga? 15. Mágikus masina (8p) A mágikus masina golyókból és gombokból áll, a golyók érméket tartalmazhatnak. A golyók és a gombok nyilakkal vannak összekötve. Az a golyó, melyből nyíl vezet egy gomb felé, az az adott gombnak a forrása. Az a golyó, melyhez egy gombból kiinduló nyíl vezet, az az adott gombnak a célja. Ha megnyomsz egy gombot, egymás után két dolog történik: 1) A masina megvizsgálja, hogy a gomb összes forrása tartalmaz-e legalább egy érmét. 2) Ha tartalmaz, a gomb az összes forrásából eltüntet egy érmét és az összes céljához hozzáad egy-egy érmét. Például, ha megnyomom a B gombot, a jobb felső golyóból eltűnik egy érme, a lenti golyóban pedig megjelenik egy érme. ELTE IK alg. gondolkodás teszt CC by NC-SA 9
Ha az adott gombokat a megfelelő sorrendben nyomjuk meg, a masina stabil állapotba kerül. Akármelyik gombot megnyomhatjuk, ez az állapot többé nem változik. A gombnyomások melyik sorrendjével érhetjük el a stabil állapotot? A legrövidebb sorozatot add meg! 16. Módosított Nim (8p) Jancsi és Juliska társasjátékot játszanak: 7 fehér és 3 fekete zsetonjuk van. A játékosok felváltva kerülnek sorra és vagy 1 vagy 2 vagy 3 fehér vagy 1 vagy 2 fekete zsetont vehetnek el az asztalról. Az a játékos nyer, aki az utolsó zsetont veszi el. Juliska kezd. Hány és milyen színű zsetont vegyen el, hogy biztosan nyerjen függetlenül attól, hogy Jancsi ezután mit lép? ELTE IK alg. gondolkodás teszt CC by NC-SA 10