A KöMaL 2025. februári 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ő 2025. március 17-én LEJÁRT. |
I. 651. A sejtautomaták olyan informatikai modellek, amelyekkel egyszerű szabályok alapján folyamatokat, állapotok változásait tudjuk modellezni, leírni, szimulálni.
Modellünkben egy sejtautomata egymás melletti sejtekből áll és minden időegység alatt az összes sejt állapota megváltozhat. A sejtek két állapotot vehetnek fel a modellben, ,,F''-et és ,,S''-et. Az egyes sejtek állapotai változnak az idővel – azaz a lépésszámmal – attól függően, hogy maga a sejt és a közvetlen szomszédai milyen állapotban vannak. Mindkét szélen egy-egy sejt kezdetben biztos ,,F'' állapotban van és később is az marad.
Készítsünk programot i651 néven, amely \(\displaystyle M\) lépés után megadja, hogy ,,S'' állapotú sejtből hány van.
A program standard bemenetének első sorában a sejtautomata sejtjeinek \(\displaystyle N\) száma (\(\displaystyle 1\leq N\leq 1000\)) és a lépések \(\displaystyle M\) száma (\(\displaystyle 1\leq M\leq 1000\)) található. A következő sorban \(\displaystyle N\) darab betű (,,F'' vagy ,,S'') a sejtek kezdőállapota van. Az ezt követő 8 sorban a szabályok következnek. Minden szabály 3 betűből és szóközzel elválasztva egy egybetűs eredményből áll.
A programmal a standard kimenetre írjuk ki, hogy \(\displaystyle M\) lépés után hány ,,S'' állapotú sejt van.
Magyarázat: a sejtek állapota a lépések után
FSSFSFSFFFSSF, FFFSSSSFFSFFF, FFSFSSFFSSFFF.
Beküldendő egy tömörített i651.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. 652. Dobókockával hatost dobni általában szerencsét jelent. Két kockát egyszerre feldobva mindkét kockával hatost dobni még nagyobb szerencse. Általában \(\displaystyle N\) kockát feldobva annak az esélye, hogy mindegyik hatos legyen, igen kevés. Persze, ha kitartóan, újra és újra megpróbáljuk, akkor egy idő után szerencsénk lehet, de csak nagyon sok próbálkozás után.
Inkább kíséreljük meg a csupa hatost elérni másként: először dobjunk fel minden kockát, majd csak azokkal a kockákkal dobjunk, amelyekkel az előző dobás után nem hatost kaptunk. Ezt ismételjük egészen addig, amíg minden kockán hatost nem kapunk. Így már kevesebb számú dobásra van szükség.
Vizsgáljuk meg a jelenséget program segítségével. Állapítsuk meg, hogy \(\displaystyle N\) kocka esetén átlagosan hányszor kell dobni, hogy végül minden kocka hatost mutasson. Egy dobás alatt az első esetben az összes kocka, később az összes olyan kocka feldobását értjük, amellyel nem hatost dobtunk korábban. A program \(\displaystyle K\) alkalommal végezze el a kísérletet, és adja meg, hogy átlagosan hány dobásból áll a dobássorozat, amellyel végül minden kocka hatost mutat.
A program standard bemenetének első sorában a kockák \(\displaystyle N\) száma (\(\displaystyle 10\leq N\leq 100\)) és a kísérletek \(\displaystyle K\) száma (\(\displaystyle 50\leq K\leq 50\;000\)) található. A programmal a standard kimenetre írja ki a dobássorozatok átlagos hosszát egy tizedesjegyre kerekítve.
Példa:
Bemenet | Kimenet |
10 1000 | 16.7 |
Beküldendő egy tömörített i652.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. 653. Hajdanában az emberek sokat adtak a népi időjárási megfigyelésekre. Persze nem volt időjárásjelentés, és a mezőgazdasági munkákat komolyan befolyásolta az időjárás. A rengeteg népi rigmusból, bölcsességből most négyet választottunk, a többi elég nehezen mérhető, a közel a tavasz, a zsákban hoznak meleget, a madárcsicsergés nehezen számszerűsíthető, így azokra szorítkoztunk, amelyek a minimum hőmérséklethez, napi csapadékmennyiséghez kötődnek. Így esett a választásunk az alábbiakra:
\(\displaystyle \bullet\) Január 18. Piroska napján, ha fagy, negyven napig el nem hagy.
\(\displaystyle \bullet\) Június 8. Ha Medárd napján esik, negyven napig esni fog.
\(\displaystyle \bullet\) November 11. Márton napján, ha a lúd jégen jár, akkor Karácsonykor vízben poroszkál.
\(\displaystyle \bullet\) November 25. Ha Katalin kopog, Karácsony tocsog, ellenben, ha Katalin tocsog, Karácsony kopog.
- Nyissunk egy üres táblázatkezelő munkafüzetet. Töltsük be egy üres munkalapra az A1-es cellától kezdve az UTF-8 kódolású, tabulátorokkal tagolt met_adatok.txt fájl tartalmát. A munkalap kapja a BP nevet. Munkánkat mentsük nepi_idojaras néven a táblázatkezelő alapértelmezett formátumában.
- Hozzunk létre négy új munkalapot Piroska jan. 18., Medárd jún. 8., Márton nov. 11., Katalin nov. 25. néven. A munkalapokra kerüljenek a mintának megfelelően az A2-es cellától kezdve függőlegesen lefelé az évszámok. Az A1-es cellába és a B1-es cellába az adott névnap hónapja és napja, A D1-es és E1-es cellák a vonatkozott dátumok névnaphoz képesti eltolását jelentik. A B oszlopban függvény segítségével adjuk meg az adott évi dátumot, majd az adott napokhoz tartozó sorszámot.
- Mind a négy munkalapon készítsük el a 125. sorban a mintán olvasható szövegeket.
- Ellenőrizzük az időjárási adatokat az adott napokra, periódusokra.
- Állapítsuk meg, hogy melyik névnapra hány alkalommal teljesül a feltétel. Katalinnál ez a szám 120.
- Határozzuk meg, hogy a fentiek közül hányszor teljesül a népi jóslat.
- Ezt a két értéket írjuk a négy munkalap D125-ös és D126-os cellájába.
Segédszámításokat a négy névnapos munkalapon az E oszloptól jobbra végezhetünk. A megoldásban saját függvény vagy makró nem használható.
Beküldendő egy tömörített i653.zip állományban a táblázatkezelő munkafüzet, illetve egy rövid dokumentáció, amelyben szerepel a megoldási módszer, a megoldáskor alkalmazott táblázatkezelő neve, verziószáma.
Az adatok forrásai:
https://www.met.hu/eghajlat/magyarorszag_eghajlata/eghajlati_adatsorok/Budapest/adatok/napi_adatok/
Letölthető fájl: metadatok.txt
(10 pont)
I. 654. Ma már szinte mindennapos, hogy a híradóban súlyos, személyi sérüléses vagy halálos közúti balesetekről tudósítanak, néha többről is. Régebben kevesebb ilyenről lehetett hallani, ennek az okait próbáljuk feltárni néhány 2001 és 2023 közötti statisztikai adat alapján. Szerencsére elég egy megnyugtató pillantást vetni a számokra, és máris láthatjuk, hogy növekedésről szó sincs, a baleseti halálozás 2023-ban a 2001-es szint nagyjából egyharmada, a 2023-as sérülések száma is kb. a 75%-a a 2001-es adatnak. De sok érdekesség lapul az adatok összefüggéseiben, érdemes beleásnunk magunkat.
- Nyissunk egy üres táblázatkezelő munkafüzetet. Töltsük be egy üres munkalapra az A1-es cellától kezdve az UTF-8 kódolású, tabulátorokkal tagolt balesetek.txt fájl tartalmát. A munkalap kapja a balesetek nevet. Munkánkat mentsük balesetek néven a táblázatkezelő alapértelmezett formátumában.
- Formázzuk meg az adatokat a minták és a leírás szerint:
- Egyesítsük az első sor mintákon látható celláit;
- szegélyezzük a munkalap adatokat vagy képleteket tartalmazó celláit a minták szerint;
- a munkalap betűtípusa legyen Arial, az alap betűméret 11 pontos;
- állítsunk be olyan oszlopszélességet, hogy minden adat látható legyen;
- az első két sor szövegét vastagítsuk és igazítsuk a minták szerint (ha kell, sortöréssel, elválasztással);
- az első oszlop és az első két sor kapjon 15%-os sötétszürke árnyalatot;
- az egész számokat tartalmazó számoszlopokban legyen ezres tagolás.
- Az A27-es cellába írjuk be, hogy ,,Változás aránya'', majd a 27-es sorban jelenítsük meg, hogy az adatoszlopok hány százalékkal változtak 2001 és 2023 között (százalék formátumban, két tizedes pontossággal).
- Vizsgáljuk meg, mennyit változott az ittas vezetés következtében előidézett sérüléses balesetek száma. Számítsuk ki az AB3:AB25 tartomány celláiba az adott évi ittas vezetés és az összes baleset arányát. Figyeljük meg, hogy ez az arány jóval kevésbé csökken, mint az abszolút adatok.
- Készítsünk új diagramlapra grafikont az ittas vezetés miatti balesetekről a minta szerint. A diagramlap neve Ittas legyen.
- Készítsünk új diagramlapra grafikont az AB oszlop adatairól az előző mintája alapján. A diagramlap neve Ittas2 legyen.
- Keressük meg a covidos időszak nyomait az adatokban!
- Számítsuk ki az AC3:AD25 tartomány celláiba, hogy az adott évben hány százaléka volt a halálozások, illetve a sérülések száma 2001-hez viszonyítva! Ábrázoljuk az eredményt oszlopdiagramon új diagramlapon a minta szerint. A diagramlap neve Covid1 legyen.
- Ábrázoljuk oszlopdiagramon a haladó járművek ütközése adatait a minta szerint. A diagramlap neve Covid2 legyen.
- Hogyan lehet akaratlanul is félrevezető egy diagram?
- Készítsünk új diagramlapra grafikont az úthálózat hosszának alakulásáról a minta szerint. A diagramlap neve Közúthossz legyen.
- Készítsünk új diagramlapra reális adatváltozást mutató grafikont az úthálózat hosszának alakulásáról úgy, hogy a függőleges tengely minimuma 0 legyen. A diagramlap kapja a Közúthossz2 nevet.
- Gépeljük be az A30-as cellába az ,,egy kilométerre jutó járműszám 2001-ben'' szöveget, az A31-esbe pedig ezt: ,,egy kilométerre jutó járműszám 2023-ban''. Az F30-as és F31-es cellákba számítsuk ki ezek értékét. Számítsuk ki a telítettséget járművenként 10 m-es hosszal és útpályánként átlagosan \(\displaystyle 2{,}3\) forgalmi sávval számolva.
- Határozzuk meg az AE4:AE25 tartomány celláiba az évente a forgalomból kivont járművek számát.
- A gépjárművezetők hibája növekszik, ami az adatokon ránézésre nem látszik. Túlságosan megbízunk a saját képességeinkben és a technika védelmében. Számítsuk ki az AF oszlop megfelelő celláiba, hogy az adott évi személyi sérüléses balesetek hány százaléka származott a gépjárművezetők hibájából. Készítsünk ebből új diagramlapra oszlopdiagramot lineáris trenddel a minta szerint. A diagramlap neve Vezetőhiba legyen.
- A gyalogosok hibája miatti balesetek aránya csökken, holott egyre többen a telefonjukat nyomkodva közlekednek, ráadásul sokan fülhallgatóval is kizárják a külvilág ingereinek jó részét. Ez a csökkenés valószínűleg a járművek egyre fejlettebb védelmi berendezéseinek köszönhető. Számítsuk ki az AG3:AG25 cellákba, hogy az adott évi személyi sérüléses balesetek hány százaléka származott a gyalogosok hibájából. Készítsünk ebből új diagramlapra oszlopdiagramot lineáris trenddel a minta szerint. A diagramlap neve Gyalogoshiba legyen.
Diagram minták:
A megoldásban saját függvény vagy makró nem használható.
Beküldendő egy tömörített i654.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.
Az adatok forrásai:
https://www.ksh.hu/stadat_files/ege/hu/ege0061.html
https://www.ksh.hu/stadat\files/ege/hu/ege0063.html
https://www.ksh.hu/stadat\files/ege/hu/ege0064.html
https://www.ksh.hu/stadat\files/ege/hu/ege0065.html
https://www.ksh.hu/stadat\files/ege/hu/ege0066.html
https://www.ksh.hu/stadat\files/sza/hu/sza0022.html
https://www.ksh.hu/stadat\files/sza/hu/sza0023.html
https://www.ksh.hu/stadat\files/sza/hu/sza0026.html
https://www.ksh.hu/stadat\files/sza/hu/sza0039.html
Letölthető fájl: balesetek.txt
(10 pont)
Figyelem!
Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.