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 2012. májusi 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ő 2012. június 11-én LEJÁRT.


I. 295. Polübiosz egy Rómában élő görög történetíró, politikus volt, aki i.e. 200-ban született. (Történelemkönyvei közül 40 kötetet ismerünk.) Szövegek titkosításának rejtjelezését dolgozta ki a róla elnevezett Polübiosz-négyzettel. Minden betűnek egy betűpár - sor és oszlop sorrendben - felel meg.

Az 5×5-ös négyzetben az angol ábécé csak úgy fér el, ha a V és W karaktert egyformán az UE karakterpár kódolja. Polübiosznak ez nem jelentett problémát, hiszen a görög ábécé 24 betűből áll.

A rejtjelezendő szöveg betűit magánhangzó párokkal helyettesítjük, majd ezeket tartalmazó szavakat választunk.

Rendelkezésünkre áll a szodb.txt állományban egy hosszú magyar nyelvű szöveg összes szava ábécérendben. Az ékezetes magánhangzók ékezet nélküli párjukkal lettek helyettesítve és nagybetűs írásmódot állítottak be. Ebből a szókészletből lehet választani olyan szavakat, amelyek az elrejtendő magánhangzókat tartalmazzák egymás után.

Készítsünk programot i295 néven, amely segít rejtjelezni egy szöveget. A program parancssori argumentuma legyen a szavak gyűjteményét tartalmazó állomány neve. A rejtjelezendő szöveget (maximum 100 karakter) kérjük be a billentyűzetről, majd a kódoló magánhangzókat tartalmazó szavakat szóközzel elválasztva a képernyőn jelenítsük meg.

Beküldendő egy tömörített i295.zip állományban a program forráskódja (i295.pas, i295.cpp, ...) és rövid dokumentációja (i295.txt, i295.pdf, ...), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.

(10 pont)

megoldás, statisztika


I. 296. A környezetvédelem egyre nagyobb hangsúlyt kap a mindennapjainkban, hiszen a környezeti ártalmak komoly hatással vannak egészségünkre. A légszennyezettség adatait ma már egyre több híradásban hozzákapcsolják az időjárás-jelentéshez. Budapesten is tizenegy mérőállomás detektorai regisztrálják a levegő szennyezőanyagainak koncentrációját. Ez a feladat 2012. első két hónapjának mérési adatait hivatott feldolgozni. Az adatok forrása az Országos Légszennyezettségi Mérőhálózat internetes adatbázisa a http://www.kvvm.hu/olm oldalról.

[1.] Hozzunk létre i296 néven egy üres adatbázist. Importáljuk az adatbázisba az allomasok, detektorok, hatarok és meresek táblákba az ezekkel az elnevezésekkel azonos nevű - honlapunkról letölthető - txt fájlokból az adatokat. (A fájlok UTF-8 kódolású, tabulátorral tagoltak, első sorukban a mezőazonosítók találhatók.) A táblák kapcsolatát az ábra mutatja. A  meresek tábla ertek mezője üres azoknál a méréseknél, ahol az adott detektor az adott napon nem szolgáltatott adatot.

Táblák:

[2.] Készítsük el azt a lekérdezést, amely megadja, hogy 2012. január 18-án az egyes mérőállomásokon mely szennyezések méréséről nincs adat. A lekérdezésben a  telepitesihely és a sznev mezők jelenjenek meg. (2jan18hiba)

[3.] Készítsünk lekérdezést arról, hogy az egyes mérőállomásokon mely szennyezések méréséről nincs egyetlen adat sem a hatvan napos időszakban. Ebben a lekérdezésben is a telepitesihely és a sznev mezők jelenjenek meg. (3vegiguzemenkivul)

[4.] Készítsünk paraméteres lekérdezést, amely egy szjeloles alapján kiírja azoknak a mérőállomásoknak az adatait, amelyeken van ennek mérésére telepített detektor. (4holmerheto)

[5.] Lekérdezéssel adjuk meg, hogy januárban a ,, nagyszemcsés szálló por koncentráció'' átlagos értéke mennyi volt és ez melyik minőségtartományba esik. (5janporminoseg)

[6.] Soroljuk fel, hogy az egyes szennyezéseknél melyik állomáson és mikor mérték a legnagyobb értéket az év első két hónapjában. A felsorolás dátum szerint legyen rendezett. (6maximumok)

[7.] Vizsgáljuk meg, hogy a hétköznap jóval nagyobb közlekedésnek milyen hatása van a légszennyezésre. Lekérdezés segítségével adjuk meg, hogy a nitrogén-oxidoknak (NO, NO2, NOx) és a kén-dioxidnak (SO2) mennyi volt a hétköznapi és a hétvégi átlaga, illetve a hétvégi átlag a hétköznapinak hány százaléka. (7kozlekedesihatas)

[8.] Adjuk meg, hogy az egyes mérőállomásokon szennyezésenként mekkora volt a legnagyobb és legkisebb koncentráció aránya. A tíz legnagyobb számított arányú szennyezést jelenítsük meg a  telepitesihely, az sznev mezőkkel és a kiszámított aránnyal. (8nagyvaltozas)

Beküldendő egy tömörített i296.zip állományban az adatbázis (i296.mdb, i296.accdb, i296.odb, ...), illetve egy rövid dokumentáció (i296.txt, i296.pdf, ...), amelyben szerepel a megoldáskor alkalmazott adatbázis-kezelő neve, verziószáma.

Letölthető állományok: allomasok.txt, detektorok.txt, hatarok.txt, meresek.txt.

(10 pont)

megoldás, statisztika


I. 297. Lapunk 2011. decemberi számában megjelent I. 281. feladatában szereplő táblázatot bővítsük úgy, hogy az gombnyomásra képes legyen minden osztály számára elkészíteni az ott szereplő tartalmú és formájú diagramot, valamint minden diák oszlopát a képességszintjének megfelelő színnel töltse ki.

A megoldáshoz korábbi saját megoldásunkat vagy a mintamegoldásként feltöltött állományok egyikét használjuk föl. Töröljük az első osztályhoz elkészített diagramot, és tegyünk egy parancsgombot a képességszintek táblázatrésztől jobbra. A parancsgombhoz tartozó makró és/vagy program készítse el az osztályokhoz tartozó az eredeti I. 281. feladatban szereplőhöz hasonló diagramokat egymás alá.

A képességszintek színei rendre piros, halvány narancs, sárga, világoszöld, sötétzöld, szürke, világoskék, sötétkék legyenek a képességszint alatti besorolástól a 7. szintig terjedően.

Beküldendő egy tömörített i297.zip állományban a megoldást tartalmazó munkafüzet (i297.xlsm, i297.xls, i297.ods, ...) valamint a megoldás vázlatos leírását tartalmazó (i297.txt, i297.pdf, ...) állomány.

(10 pont)

megoldás, statisztika


S-jelű feladatok

A beküldési határidő 2012. június 11-én LEJÁRT.


S. 72. Egy repülőtéren a leszálló gépek utasainak csomagjait több átrakodás után végül futószalagra pakolják. A pakolás eredményeként egy adott utas több csomagja általában nem egymás mellé kerül, hanem szétszóródik. Ez azonban nem szerencsés, az utasok szívesebben veszik, ha csomagjaik egy csoportban érkeznek meg hozzájuk a szalagon. Feladatunk az, hogy minden utasnál a hozzá tartozó csomagokat egymás mellé helyezzük úgy, hogy a lehető legkevesebb legyen a csomagok mozgatásának összes távolsága.

A futószalag egyforma hosszúságú szakaszokra van bontva. Egy-egy szakaszba pontosan egy csomagot tesznek, vagy üresen hagyják. A szakaszméret úgy lett meghatározva, hogy minden csomag elférjen egy szakaszban. Egy repülőgépen legföljebb 25 utas repül, mindenki legföljebb 40 csomagot vihet magával. A futószalag egy adott repülőgép utasai számára 1000 szakaszból áll. Egy mozgatás hosszán a végső és a kiindulási szakasz sorszámának különbségét értjük, tehát a példában szereplő 9. t-jelű csomag átpakolása az 5. helyre 4 hosszúságú mozgatás.

Készítsünk programot, amely a standard bemenet első sorából beolvassa a futószalag hosszát, a következő sorából a futószalag szakaszainak tartalmát, majd a fentieknek megfelelően a lehető legkevesebb mozgatással átrendezi a szalagot. A program a standard kimenet első sorába írja a szükséges mozgatások összes hosszát, a második sorába az átrendezett futószalagot. A szalagon az üres szakaszokat kötőjelek (-), míg az egy utashoz tartozó csomagokat az angol abc kisbetűi jelzik. A be- és kimenet a szalag még csomagokkal megrakott részét tartalmazza.

Beküldendő egy tömörített s72.zip állományban a program forráskódja (s72.pas, s72.cpp, ...) az .exe és más, a fordító által generált állományok nélkül, valamint a program rövid dokumentációja (s72.txt, s72.pdf, ...), amelytartalmazza a megoldás rövid leírását, és megadja, hogy a forrás mely fejlesztői környezetben fordítható.

(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.