A KöMaL 2024. márciusi informatika feladatai
Kérjük, ha még nem tetted meg, olvasd el a versenykiírást.
Feladat típusok elrejtése/megmutatása:
![]() |
I-jelű feladatokA beküldési határidő 2024. április 15-én LEJÁRT. |
I. 619. Képezzünk egy pozitív egész számból egy újabb pozitív egész számot úgy, hogy a szám önmagán kívüli legnagyobb osztóját a szám végére írjuk, és a szám elejéről elhagyunk annyi számjegyet, ahányat a végére írtunk. Például 10 esetén a kapott szám a 05, vagyis az 5 lesz, illetve 125 esetén az előállított szám az 525. Ha a szám 1, akkor a képzés nem változtat a számon, marad 1.
Készítsünk programot, amely adott lépésszámmal alkalmazza a képzési szabályt a beolvasott számból kiindulva, majd adjuk meg a kimeneten az utoljára előállított számot.
A program a standard bemenet egyetlen sorából olvassa be az első számot (1≤A≤1000000), amelyre a képzési szabályt alkalmazzuk, majd az ismétlések (1≤N≤100) számát. A program a standard kimenet egyetlen sorában az utolsóként képzett számot jelenítse meg.
Példák:
Bemenet | Kimenet |
125 5 | 71 |
1217 4 | 2463 |
359 20 | 111 |
Beküldendő egy tömörített i619.zip állományban a program forráskódja és rövid dokumentációja, amely megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.
(10 pont)
I. 620. Legyen egy helyi értékes számrendszerben az első helyiérték 1, a további helyiértékeken pedig a prímszámok növekvő sorozata. Az ebben a számrendszerben felírt 10101p ötjegyű szám esetén a helyi értékek 7, 5, 3, 2, 1, azaz a szám értéke 7⋅1+3⋅1+1=11. Tetszőleges nemnegatív egész szám felírható az így megadott számrendszerben, de a felírás nem egyértelmű. Például a 11 felírható 100000p alakban is. Tegyük egyértelművé az átváltást úgy, hogy minden esetben azt a felírást választjuk, amelyben csak 0-s és 1-es számjegy szerepel, és emellett a legkevesebb 1-es fordul elő. Így például minden prímszám pontosan egy 1-esből és 0-kból áll.
Készítsünk programot, amely bekér egy pozitív egész számot, majd megadja a szám felírását a bemutatott számrendszerben. A program a standard bemenet egyetlen sorából olvassa be a számot (1≤a≤100000), majd a standard kimenet egyetlen sorában adja meg a szám felírását a fent leírt módszerrel.
Példák:
Bemenet | Kimenet |
26 | 1000000100 |
57 | 10000000000000101 |
100 | 10000000000000000000000100 |
A megoldáshoz felhasználható a https://t5k.org/lists/small/10000.txt címen megtalálható szöveges állomány, amely az első 10000 prímszámot tartalmazza. Az állomány letöltés után szerkeszthető, a feldolgozás szempontjából felesleges sorok törölhetők.
Beküldendő egy tömörített i620.zip állományban a program forráskódja és a prímszámokat tartalmazó állomány, valamint egy rövid dokumentáció, amely megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.
(10 pont)
I. 621. Ebben a feladatban a Föld néhány országában az ezer főre vetített mobil-előfizetések számát vizsgáljuk 2000–2022 között.
- Nyissunk egy üres táblázatkezelő munkafüzetet.
- Töltsük be egy üres munkalapra az A1 cellától kezdve az UTF-8 kódolású, tabulátorokkal tagolt mobiladat.txt fájl tartalmát. Munkánkat mentsük mobil néven a táblázatkezelő alapértelmezett formátumában.
- A munkalapon végezzük el az alábbi formázásokat, ügyelve arra, hogy minden oszlop legyen olyan széles, hogy minden adat teljes terjedelmében látható legyen.
- A munkalap alap betűtípusa Verdana legyen, a betűmérete 10 pontos.
- Egyesítsük az A1:X1 cellákat, a cím legyen félkövér betűstílusú, a betűmérete legyen 14 pontos.
- Az A2:X46 tartomány celláit keret válassza el egymástól, a tartomány első és második sora, illetve első és második oszlopa között a keret legyen vastag vonalú.
- Az előző pontban említett tartomány első sora legyen dupla magas, a szövegek félkövéren, vízszintesen és függőlegesen középre igazítva jelenjenek meg, esetleg sortöréssel.
- A berácsozott részre a 4., 6. és minden további páros sorban állítsunk be halványkék háttérszínt.
- A B3:X47 tartomány adatainak megjelenésénél legyen ezres tagolás.
- Az Y1 cellába gépeljük be a „2010/2000'' szöveget, és számítsuk ki alatta, hogy országonként hányszorosa lett a 2010-es adat a 2000-es évinek. Az adatok százalék formátumban, tizedesjegyek nélkül legyenek láthatók.
- Emeljük ki feltételes formázással: sötétzöld háttérszínnel és félkövér betűstílussal és sárga betűszínnel az 1000%-ot meghaladó adatokat.
- Készítsünk a minta szerinti vonaldiagramot új, diagram típusú munkalapra az előző pontban kiemelt országok 2000–2010 közti adatairól.
- A B47:X47 tartomány celláiba számítsuk ki az adott év átlagát az adott országok tekintetében, az átlagok egészre kerekítve látszódjanak.
- Készítsük el az átlagokból a minta szerinti vonaldiagramot, a Z47-es cellába gépeljük be azt az évszámot, amikortól a grafikonról leolvashatóan megkezdődött a stagnálás.
- A B48:X48 tartomány celláiba kerüljön „+'' jel, ha az adott év Magyarországi adata meghaladta az EU átlagát, különben a cella maradjon üres.
- A B49:X49 tartomány celláiba kerüljön azon országok száma, amelyekben az adott év előfizetéseinek száma meghaladja a fejenként egy előfizetést.
A megoldásban saját függvény vagy makró nem használható.
Beküldendő egy tömörített i621.zip állományban a táblázatkezelő munkafüzet, illetve egy rövid dokumentáció, amelyben szerepel a megoldáskor alkalmazott táblázatkezelő neve, verziószáma.
Forrás: https://www.ksh.hu/stadat_files/ikt/hu/ikt0027.html
Letölthető fájl: mobiladat.txt
(10 pont)
I. 622. Téglalapokból álló és kevés színt tartalmazó ábrákat tömörítve tárolunk. Minden egyes sorról csak azt tartalmazza a tömörített állomány, hogy mi változott az előző sorhoz képest. Ha egy sor megegyezik az előzővel, akkor a tömörített állományban erről nem szerepel bejegyzés.
Készítsünk programot i622 néven, amely előállítja az ábra SVG típusú vektorgrafikus képét.
A program standard bemenetének első sorában a kép sorainak N (1≤N≤100) száma és oszlopainak M (1≤M≤100) száma van. A következő sorok a kódolt képet tartalmazzák soronként és azon belül oszloponként növekvő sorrendben. Minden sorban az első szám a tömörítetlen kép megfelelő sorát jelenti, a második és a harmadik szám a kezdő és végpozíciót, majd a negyedik nagybetű a szín kódja.
A színeket jelölő nagybetűk: F=fehér, P=piros, K=kék, Z=zöld, S=sárga, N=narancs, L=lila, B=fekete.
A program a standard kimenetre írja ki az ábra SVG kódját.
Az SVG állomány szerkezetéről többek között a http://svg.elte.hu/ címen olvashatunk.
Beküldendő egy tömörített i622.zip állományban a program forráskódja és rövid dokumentációja, amely megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.
(10 pont)
Figyelem!
Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.
|