Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

A KöMaL 2022. áprilisi 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ű feladatok

A beküldési határidő 2022. május 16-án LEJÁRT.


I. 562. (É). Egy műhold segítségével téglalap alakú területről fényerősség értékeket mértek éjszakai időszakban. A fényerősség 0 azon a helyen, ahol teljes a sötétség, és 100, ahol a műszer érzékelője maximumot érzékel. A téglalap alakú terület \(\displaystyle N\times M\) négyzet területegységből áll, amelyek mindegyikét egy-egy fényerősség érték jellemez. A térkép szélein lévők kivételével minden területegységnek négy közvetlen szomszédja van.

Rendelkezésünkre áll a terkep.txt adatfájl, amelynek első sorában két egész szám (\(\displaystyle 1\le N, M\le 100\)) található, a térkép sorainak és oszlopainak száma. Az állomány következő \(\displaystyle N\) sorában, soronként \(\displaystyle M\) darab 0 és 100 közötti egész szám található, a fényerősség értékek. A térkép szélén a fényerősség értéke mindenhol 0. Az állomány soraiban az adatokat egy-egy szóköz választja el egymástól.

Készítsünk programot i562 néven, amely az állomány adatait felhasználva a következő kérdésekre ad választ.

1. Olvassuk be és tároljuk el a terkep.txt állomány adatait, és annak felhasználásával oldjuk meg a következő feladatokat.

2. Határozzuk meg, hogy a terület hány százaléka nem sötét teljesen. Az  eredményt két tizedesjegy pontossággal írjuk ki.

Fényesnek nevezzük azokat a mérési pontokat, amelyek nagyobb fényerősségűek a négy közvetlen szomszédjuknál.

Minta bemenet (a fényes mérési pontok félkövér stílussal):

3. Írjuk a képernyőre a fényes mérési pontok számát.

4. Határozzuk meg a legkisebb területű azon téglalap bal felső és jobb alsó sarkának a koordinátáit, amelyben az összes fényes mérési pont benne van.

5. Határozzuk meg annak a \(\displaystyle K\times K\)-s négyzetnek a bal felső koordinátáit, amelyikben a legtöbb fényes mérési pont van. \(\displaystyle K\) értékét (\(\displaystyle 1\le K\le \min{(N,M)}\)) olvassuk be a billentyűzetről. Ha több megoldás van, akkor bármelyiket megadhatjuk.

Beküldendő egy tömörített i562.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ó.

Letölthető állomány: terkep.txt.

(10 pont)

statisztika


I. 563. Anna és Péter játék rulettel játszanak, illetve a játék nyerési lehetőségeit tanulmányozzák. A rulettben 0-tól 36-ig terjednek a számok. A rulettkeréken a számok egy körgyűrű 37 fiókjában találhatók, ezek közül zöld színű a nulláé, a többi harminchat szám fele-fele fekete, illetve piros színű dobozban foglal helyet.

Most csak színekre fogadnak, amely nyerés esetén a tét kétszeresét fizeti, vesztésnél a tét a banké. Anna csak pirosra és Péter csak feketére tesz. Céljuk a kezdőtőkéjük megkétszerezése. Egyforma zsetonszámmal kezdenek és elsőre mindketten 1-1 zsetont tesznek. Ha Anna veszít, akkor megkétszerezi a tétjét, ha nyer, akkor újra egyet tesz. Péter vesztés esetén eggyel növeli a tétjét, míg ha nyer, akkor ő is visszatér a kezdeti tétre. A piros és a fekete valószínűsége természetesen azonos, de nem pontosan 50%, mivel a golyó a 0-ra érkezhet \(\displaystyle 1/37\)-ed eséllyel, amely zöld színű. Ekkor mindketten vesztenek. A bank tőkéje korlátlan.

Táblázatkezelő program segítségével oldjuk meg a játék szimulációját. A táblázat elrendezése tetszőleges lehet, de ügyeljünk az áttekinthetőségre és a megértést feliratokkal segítsük elő. A táblázat legyen felkészítve arra, hogy a játék hosszú is lehet, de a még fel nem használt cellák maradjanak üresen. A kezdőtőke 10 és 100 zseton között változhat.

Indulásnak adjuk meg, hogy mennyi Anna és Péter kezdőtőkéje. A játék addig tartson, amíg az egyikőjük vagy eléri a kezdőtőke kétszeresét, vagy elveszíti az összes zsetonját.

Értékelés: a feladat megoldása eddig 7 pontot ér. További 3 pont kapható, ha egymás utáni 10 játék alapján meghatározzuk, hogy hányszor tesz tétet Anna és Péter a játék során.

Beküldendő egy i563.zip tömörített á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.

(10 pont)

megoldás, statisztika


I. 564. Az ingamozgás során a test egy köríven, két szélső helyzet között periodikus mozgást végez.

Készítsünk animációt egy SVG-típusú vektorgrafikus képállományba, amely egy inga mozgását mutatja be. Az animációban szereplő alakzatok tetszőleges méretűek, színűek és kitöltésűek lehetnek. Az animációt a képállomány szövegének szerkesztésével érdemes megoldani. Az animációban az alakzatok olyan sebességgel mozogjanak, hogy a mozgás megfigyelhető legyen. A lejátszási idő, az ismétlődések száma, valamint más paraméterek szabadon válaszhatók.

SVG-ábra animációjának készítése szerepelt az I.\(\displaystyle \;\)357. feladatban, illetve az ábra szerkezetéről olvashatunk a http://svg.elte.hu/ címen.

Értékelés: a matematikai inga mozgásának bemutatásával 7 pont és az ingamozgás további jelenségének ábrázolásával még 3 pont érhető el.

Beküldendő tömörített i564.zip állományban az animáció SVG-állománya és egy rövid dokumentáció, amely tartalmazza a megoldás vázlatos leírását.

(10 pont)

statisztika


I/S-jelű feladatok

A beküldési határidő 2022. május 16-án LEJÁRT.


I/S. 62. Egy országban \(\displaystyle N\) város található, és közöttük \(\displaystyle M\) darab kétirányú út vezet. Szeretnénk kiépíteni egy hálózatot úgy, hogy bizonyos városokba adótornyokat telepítünk (mindegyikbe legfeljebb egyet). A városokat 1-től \(\displaystyle N\)-ig indexeljük.

Egy út tökéletesen lefedett, ha pontosan az egyik végpont városába telepítünk adótornyot. Adjuk meg, hogy maximum hány adótornyot tudunk telepíteni úgy, hogy mind az \(\displaystyle M\) út tökéletesen legyen lefedve.

A bemenet első sorában az \(\displaystyle N\) és \(\displaystyle M\) számok találhatók szóközzel elválasztva. A következő \(\displaystyle M\) sor mindegyike két számot tartalmaz: egy adott várospár indexeit, amelyeket út köt össze.

A kimenet egyetlen sorában egy szám szerepeljen: maximum hány adótornyot tudunk telepíteni a feltételeknek megfelelően. Ha ez nem lehetséges, írjunk ki -1-et.

Magyarázat: telepítsünk adótornyot az 1, 3, 5 indexű városokba.

Korlátok: \(\displaystyle 1 \le N,M \le 10^{5}\). Időlimit: 0,4 mp.

Értékelés: a pontok 50%-a kapható, ha az \(\displaystyle 1 \le N, M \le 10\) feltételek esetén a program helyes kimenetet ad.

Beküldendő egy is62.zip tömörített állományban a megfelelően dokumentált és kommentezett forrásprogram, amely tartalmazza a megoldás lépéseit, valamint megadja, hogy a program melyik fejlesztői környezetben futtatható.

(10 pont)

statisztika


S-jelű feladatok

A beküldési határidő 2022. május 16-án LEJÁRT.


S. 161. Egy épület különböző pontjaira vizet kell vezetni. Az épület tervrajzán \(\displaystyle N\) darab pont mutatja ezeket a helyeket. A tervrajzra gondolatban egy koordináta-rendszert illesztünk, amelyen az \(\displaystyle N\) pont mindegyike egész koordinátákra esik. A vezetékeket úgy építik, hogy a pontokat összekötik egyenes csövekkel úgy, hogy bármelyikből bármelyik másikba el lehessen jutni a csöveken haladva. A merev csöveket csak a tervrajzon jelölt pontokban tudjuk elágaztatni és nem is keresztezhetik egymást. Minden cső a koordináta-rendszer egy-egy rácsvonalára kerül és két megadott pontot köt össze. Adjuk meg, hogy legalább milyen hosszú lesz a csővezetékek hossza, ha közvetetten bármely két pontot összekötjük.

Bemenet: az első sor tartalmazza a pontok \(\displaystyle N\) számát. A következő \(\displaystyle N\) sor mindegyike egy-egy pont \(\displaystyle x\) és \(\displaystyle y\) koordinátáját tartalmazza.

Kimenet: a kimenet első és egyetlen sorába a csövek lehető legkisebb összhosszát kell kiírni. Ha nem lehet őket mind összekötni, akkor -1-et kell kiírni.

Minta:

Bemenet (a / jel sortörést helyettesít)Kimenet
6 / 0 2 / 0 3 / 1 0 / 1 3 / 2 2 / 2 3 7

Korlátok: a koordináták abszolút értéke legfeljebb 1000 és \(\displaystyle N \le 30\). Időlimit: 0,5 mp.

Értékelés: a pontok 30%-a kapható, ha az \(\displaystyle x\) koordináta 0 vagy 1 értéke esetén a program helyes kimenetet ad.

Beküldendő egy s161.zip tömörített állományban a megfelelően dokumentált és kommentezett forrásprogram, amely tartalmazza a megoldás lépéseit, valamint megadja, hogy a program melyik fejlesztői környezetben futtatható.

(10 pont)

statisztika


Figyelem!

Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.