Infóka verseny megoldása 1. Feladat. Számok 25 pont Pistike és Gyurika egy olyan játékot játszik, amelyben prímszámokat kell mondjanak. Az nyer, aki leghamarabb ér el 1000 fölé. Mindkét gyerek törekedik a győzelemre, döntéseik mind helyesek (optimálisan játszanak). Szabály A gyerekek felváltva kell mondjanak egy-egy prímszámot, úgy, hogy a soron következő legalább 1 - gyel, és legtöbb 20 - szal nagyobb számot kell mondjon, mint az előtte levő. Az a gyerek, aki kezdi a játékot egy 1000 - nél kisebb számot kell mondjon. Feladat A. Melyik az a legnagyobb szám, amivel a kezdő biztosan nyer? B. Ha Pistike 967 - tel kezd, megnyerheti-e a játékot? Vezesd le a megoldást! C. A szabályt változtatjuk, úgy, hogy: a számok 3 jegyűek kell legyenek, és az utolsó két számjegyből alkotott szám prím legyen, és a számok közötti különbség legtöbb 10, és legkevesebb 1 legyen. Ha Gyurika kezd 961 - gyel, megnyerheti a játékot? Vezesd le a megoldást! A. 977. 5 pont B. Nem. P: 967 Gy: 977 P: 983 vagy 991 vagy 997 Gy:1000. 10 pont C. Igen. Gy: 961 P:967 v 971 Gy: 973 P: 978 v 983 Gy:989 P: 997 Gy:1000. 10 pont 2. Feladat. Bogi Bogi, a katicabogár tud előre hátra haladni, jobbra balra fordulni, és nagyon szeret rejtvényeket fejteni. Most éppen egy titkosírást készített úgy, hogy az angol abc betűit egy táblázatba helyezte el, és a betűnek megfelelő mező szegélyvonalát rajzolta le.ha egy mezőben több betű van, akkor az első betű fekete, a második piros, a harmadik pedig zöld színű lesz. Tudjuk, hogy Bogi a következő lépéseket ismeri: Előre lépéshossz egységet (E hossz) Hátra lépés hossz egységet (H hossz) Fordulás balra derékszögben (B) Fordulás jobbra derékszögben (J) Színváltás szín (SZ szín) Tollat letesz (TL) Tollat felemel (TF) E alaphelyzetben mindig így áll, az irányokat pedig B J így érti. H 1
A betűket tartalmazó rács a következő, amelyben a jobb alsó cella harmadik karaktere a szóköz: ajs bkt clu dmv enw fox gpy hqz ir Például, ha a cica szót szeretnénk titkosítani, akkor a következő jelsorozatot kell Boginak bejárnia: az alábbi lépések szerint: TL E 100 J TF E 100 J E 100 J TL E 100 TF H 150 J TL E 100 J E 100 J TF E 100 B E 50 B TL E 100 J TF E 100 J E 100 J TL E 100 TF H 150 J JTL E 100 B E 100 Ha a nyit szót akarjuk titkosítani, akkor az alábbi jelsorozatot: a következő lépések szerint: SZ pirostl E 100 J E 100 J E 100 J E 100 TF H 150 J E 100 J SZ zöld TL E 100 J E 100 B TF E 50 SZ feketetl E 100 B E 100 TF H 100 J E 50 B SZ zöld TL E 100 J E 100 A. Rajzold le, milyen utat jár be Bogi,ha tudjuk, hogy alaphelyzetből indulés a titkosítandó szöveg a következő: kicsi kutya tarka. B. Írd le a Bogi által ismert utasításokkal az A alpontban megadott szöveg kódolását. C. Fejtsd meg az alábbi titkosított szöveget: D. Írd le, milyen szabály szerint rendezte el Bogi az abc betűit a kulcstáblába. E. Készíts algoritmust, amelynek lépéseit követve a kulcstábla segítségével, Bogi titkosítani tud egy tetszőleges szöveget! A. 3 pont 1p 1p 1p 2
B. 6 pont Az első szó: 2p SZ piros TL E 100 TF H 100 J TL E 100 B E 100 TF H 100 J E 50 B SZ fekete TL E 100 J E 100 TF J E 100 B E 50 J TL E 100 TF H 100 J TL E 100 TF E 50 SZ zöld E 100 B E 100 TF H 100 J E 50 B SZ fekete TL E 100 J E 100 TF J E 100 B E 50 B SZ zöld TL E 100 J E 100 TF A második szó: 2p SZ piros TL E 100 TF H 100 J TL E 100 B E 100 TF H 100 J E 50 B SZ zöld TL E 100 TF H 100 J TL E 100 TF E 50 B TL E 100 TF H 100 J TL E 100 B E 100 TF H 100 J E 50 B E 100 J TL E 100 J E 100 TF B E 50 SZ fekete TL E 100 B E 100 TF H 100 J E 50 SZ zöld B TL E 100 J E 100 TF A harmadik szó: 2p SZ zöld TL E 100 TF H 100 J TL E 100 B E 100 TF H 100 J E 50 SZ fekete TL E 100 B E 100 TF H 100 J E 50 SZ piros B TL E 100 J E 100 TF J E 100 B E 50 B TL E 100 TF H 100 J TL E 100 B E 100 TF H 100 J E 50 SZ fekete TL E 100 B E 100 TF C. A megfejtés: 4 pont a macska egeret fog D. A szabály: 5 pont Az abc betűit soronként rendezte el, fentről lefele, illetve balról jobbra haladva, rendre kitöltve a rács minden cellájának első pozícióját, majd ugyanezen szabály szerint folytatólag a rács minden cellájának második, végül pedig harmadik pozícióját. E. Egy lehetséges algoritmus: 7 pont (Bármilyen helyesen megírt algoritmus, az alábbitól eltérő bármilyen szöveges leírásban, helyes megoldásnak számít!) Útmutatás: Legyen a beolvasott szöveget tartalmazó változó neve M. Ha a szöveg betűit balról jobbra haladva sorszámozzuk, akkor egy betűt a következőképpen érünk el: M[i], ahol i az illető betű sorszáma. Például: Ha a beolvasott szöveg: M= cica, akkor az a betű a negyedik, vagyis M[4]-el hivatkozhatunk rá. Algoritmus kódolás Be M Ha M[i]= a VAGY M[i]= j VAGY M[i]= s akkor Ha M[i]= a akkor SZ fekete Ha M[i]= j akkor SZ piros Ha M[i]= s akkor SZ zöld 3
J TL E 100 B E 100 TF H 100 J E 50 B { kirajzolja a betűt, előrehalad a következő betű helyéig, és alapállásba áll} Ha M[i]= b VAGY M[i]= k VAGY M[i]= t akkor Ha M[i]= b akkor SZ fekete Ha M[i]= k akkor SZ piros Ha M[i]= t akkor SZ zöld TL E 100 TF H 100 J TL E 100 B E 100 TF H 100 J E 50 B { kirajzolja a betűt, előrehalad a következő betű helyéig, és alapállásba áll} { a fentiekhez hasonlóan jár el a többi betű esetében is } Algoritmus Vége 3. Feladat. Aknakereső A négyzethálóba írt számok azt jelzik, hogy a velük (oldalasan, sarkosan) szomszédos mezőkközül hány tartalmaz aknát. A számokat tartalmazó mezők nem tartalmaznak aknát. Rajzold be az aknákat a számoknak megfelelően. 2 3 3 1 3 3 1 4 1 2 1 2 1 1 3 2 1 3 2 2 3 3 4 3 3 2 2 2 2 2 3 2 2 2 3 Minden helyesen elhelyezett akna 0.75 pont, ha minden akna helyesen van elhelyezve akkor 25 pont. 4
4. Feladat. Titkos üzenet Egy esős délután Lili betűket írogatott különféle kartonokra. Egyszer csak az jutott eszébe, milyen érdekes lenne titkos üzenetet küldeni a barátnőjének. Végre nem kellene attól tartani, hogyha valaki elcsípi a levelet, megtudja az üzenetet! Utánanézett, hogy az idők folyamán milyen kódokat alkalmaztak. Rátalált a Morse-kódra! Azt olvasta, hogy Samuel Finley Breese Morsea pontokból és vonásokból álló jelcsoportokat rendelt az egyes betűkhöz: Betű Nemzetközi kód A B C D E F G H I J K L M Betű Nemzetközi kód N O P Q R S T U V W X Y Z Például a Suli szó Morze kódja a következő: Végül arra gondolt, hogy ez így túlságosan egyszerű, és az alábbi kódolást találta ki: Húz egy kartont. Amíg a kihúzott karton nem üres Ha a kartonon lévő betű A-betű Akkor az U-betű kódját írja az üzenetbe Különben Ha a kartonon lévő betű magánhangzó Akkor az ÁBC-ben előtte lévő magánhangzó kódját írja az üzenetbe Különben Ha a kartonon lévő betű Z-betű Akkor a B-betű kódját írja az üzenetbe Különben az ÁBC-ben utána következő mássalhangzó kódját írja az üzenetbe Húz egy kartont. Példa: Ha Lili az alábbi betűket írta a kartonokra, S Z E M üres akkor a kódolt üzenet: Követelmény: Add meg az alábbi szöveg kódolt formáját: G A B I K A P O T T E G Y Z Y L O T üres Ha téged is érdekel a Morze kód, nézz utána az Interneten! 5
H U C E L U Q I V V A H Z B Z M I V üres azaz: 6