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. decemberi 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ő 2013. január 10-én LEJÁRT.


I. 307. Biliárdgolyók útvonalát vizsgáltuk az I. 298. feladatban. Adott egy négyzet alakú biliárdasztal, amelynek szélén a golyók tökéletesen rugalmasan ütközhetnek. A golyók kiterjedés nélküliek, egymással szintén tökéletesen rugalmasan ütközhetnek és az asztal egész koordinátájú pontjaiban állhatnak.

Készítsünk programot i307 néven, amely elkészíti a paraméterek beolvasása után egy kétpattanásos golyóútvonal ábráját egy SVG típusú vektorgrafikus képállományba. A golyó egy adott (k;l) koordinátájú pontból gurítva az adott (x;y) koordinátájú golyót találja el.

A golyó két falon pattanjon vissza és más golyóval történő ütközéstől eltekintünk. Ennek oka, hogy a tökéletesen rugalmas, centrálisan történő ütközésnek megfelelően az eltalált golyó az őt eltaláló golyó mozgásának irányában folytatja a mozgását. Ha egy golyó pont az asztal sarkát találja el, akkor önmagába verődik vissza és ez két visszapattanásnak számít. A program eredménye a biliárdasztal, a golyók és a kétpattanásos pálya ábrázolása szakaszokkal (nyilakkal) SVG állományban.

SVG ábra generálása szerepelt az I. 243. feladatban, illetve az ábra szerkezetéről olvashatunk a http://svg.elte.hu/ címen.

A grafikai elemek tulajdonságait (színüket, vonalvastagságukat stb.) tetszőlegesen állíthatjuk be.

A program parancssori argumentuma legyen a kezdő feltételeket leíró adatállomány neve. A fájl első sorában N (2\leN\le50) az asztal méretét, M (1<M\le20) a golyók számát adja meg. Az ezt követő M sor a golyók koordinátáit, majd az utolsó sor a golyóindítás (k;l) koordinátáit (1\lek;l\leN), és a célgolyó (x;y) koordinátáit írja le. A biliárdasztal bal alsó sarka az (1;1) koordinátájú pont, és az 1. koordináta jobbra, a második koordináta felfelé nő.

Beküldendő egy tömörített i307.zip állományban a program forráskódja (i307.pas, i307.cpp, ...) és rövid dokumentációja (i307.txt, i307.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. 308. A Forma-1-es verseny 1986-ban jutott el hazánkba. Ennek a versenyévnek adatait dolgozzuk fel az alábbi feladatban.

A megoldáshoz az 1986.txt UTF-8 kódolású, tabulátorral tagolt, honlapunkról letölthető szövegfájlt használjuk.

Ahol csak lehetséges, alkalmazzunk - lehetőség szerint másolható - képletet.

[1.] Az 1986.txt fájl tartalmát helyezzük el a  Helyezések munkalapon az A1 cellától kezdődően.

[2.] A Helyezések munkalap 1. sorának adatait másoljuk át a Pontszámok munkalap B6-os cellájától kezdődően, az A és B oszlopok tartalmát pedig az átmásolt sorhoz illeszkedően.

A további feladatok a Pontszámok munkalapra vonatkoznak.

[3.] A D7:S36 tartományban határozzuk meg a pilóták egyes futamokon szerzett pontszámát. Az 1., 2., ..., 6. helyezés sorrendben 9, 6, 4, 3, 2, 1 pontot ér. Ügyeljünk arra, hogy azon futamok cellája üresen maradjon, ahol a versenyző nem szerzett pontot. A pontszám meghatározásához alkalmas segédtábla készíthető a Helyezések munkalap A40-es cellájától kezdődően.

[4.] A T6 cellába jegyezzük be az Összpontszám szöveget, majd alatta határozzuk meg az egyes versenyzők által az 1986-os évben szerzett összes pontot.

[5.] Az A6-os cellába írjuk be a Helyezés szöveget, majd alatta az összpontszám alapján határozzuk meg a versenyzők helyezését.

[6.] Az első sor tartalmát alakítsuk ki a mintának megfelelően. A B2, B3 cellákba egy-egy versenyző nevét bejegyezve határozzuk meg az A2:A3 és C2:T3 cellák értékét a teljes tartományon belül hibamentesen másolható képlet segítségével.

[7.] Az U1:W1 cellákat töltsük ki a minta alapján, majd az U2:W3 cellákat értelemszerűen adjuk meg a megfelelő képlettel.

[8.] Ábrázoljuk oszlopdiagramon a két választott versenyző egyes versenyeken szerzett pontjait. Egy másik diagram pedig mutassa meg a két versenyző dobogós, pontszerző és helyezetlen versenyeredményeinek arányát. A diagramokat az 5. sortól, a felette kitöltött oszlopok szélességében helyezzük el.

[9.] A táblázatban a 2-3. sort színezzük a diagram oszlopszíneivel egyezően. Az A1:W3 tartományt formázzuk a minta alapján.

Beküldendő a megoldást adó munkafüzet (i308.xlsx, i308.ods, ...), a használt program verziószámát és a megoldás lényegét tartalmazó leírás (i308.txt, i308.pdf, ...) egy fájlba tömörítve (i308.zip).

Forrás: 1986.txt

(10 pont)

megoldás, statisztika


I. 309. Egyre több program használatát lehet úgy megtanulni, hogy megnézünk néhány oktató videót az interneten. Ezek általában úgy készülnek, hogy az ,,oktató'' egy adott feladat megoldását végzi a számítógépén és ezt, valamint a szóban hozzáfűzött kommentárt rögzíti a számítógépén film formájában. Erre például a Jing program is alkalmas.

Feladatunk az Inkscape (0.48 vagy frissebb változat) vektorgrafikus rajzoló program klón eszközében rejlő lehetőségek bemutatása egy legfeljebb 5perc hosszú film formájában. A feladat megoldásához tetszőleges rögzítő program használható, a Jing csak egy a sok közül. A kész filmet egy ingyenes filmmegosztó helyre töltsük föl.

Beküldendő egy dokumentum (i309.pdf), amely tartalmazza a használt szoftver nevét és verzióját, valamint az elkészített filmre mutató hivatkozást.

(10 pont)

megoldás, statisztika


S-jelű feladatok

A beküldési határidő 2013. január 10-én LEJÁRT.


S. 76. A Véletlen Vasút játékgyár játékvasút építéséhez alkalmas egymáshoz illeszthető pályaelemeket, mozdonyt és vasúti kocsikat rak egy-egy megvásárolható csomagba. Az egyes pályaelemekből minden csomagba más és más darabszámú kerül. A cég arra törekszik, hogy minden csomagba úgy válogassa az elemeket, hogy azok mindegyikének fölhasználásával olyan pálya legyen építhető, amelynek valamely pontjáról elindított vonat bejárja a teljes pályát és visszatér az indulási helyre. Tehát az egyszer elindított vonat addig járja a pályát, amíg a mozdony bírja.

A VV játékcég nem ad segítséget a pályák építéséhez, így a vásárlók és gyermekeik sokszor nem tudják megépíteni a fent vázolt ideális vasutat. Ellenben a cég ígéri, hogy bárki, akinek a csomagjából nem készíthető ideális pálya, egy második csomagot kap ajándékba. A pályaépítés nehézsége és a cég csábító ajánlata miatt több vásárló lapunktól kér segítséget. Kérésük az, hogy a pályaelemek ismeretében adjunk meg egy ideális pályát, illetve ha ez nem lehetséges, akkor lehetőleg adjunk útmutatást arra vonatkozóan, hogy az ideális pálya miért nem építhető meg.

A vasútépítő csomagban a következő, mindkét oldalukon kerékvájatot tartalmazó pályaelemek fordulnak elő: két egység hosszú egyenes szakasz; egy egység sugarú negyed körív; mindkét irányban két egység hosszú, merőleges kereszteződés, ahol a pályák középen metszik egymást.

Az íves elem így balra és jobbra kanyarodó elemként is fölhasználható. Az ideális pályán a kereszteződések mindkét merőleges irányához csatlakozik a pálya. A pályaelemek csak a csatlakozó végükkel érintkeznek egymással, másképp nem. A cég legalább 25, de legföljebb 35 pályaelemet helyez minden csomagba úgy, hogy nincs benne négynél több kereszteződés. Készítsünk programot, amely a standard bemenet egyetlen sorából rendre beolvassa a kereszteződések, az egyenes elemek és az íves elemek számát, majd - amennyiben felépíthető egy ideális pálya - a standard kimenetre ír egy ideális pályát valamely pontjából elindulva és bejárva. A kereszteződéseken való áthaladáskor X, az egyenes elemeknél E, a balra és jobbra fordulásoknál B és J karakterek jelentik az egyes pályaelemeket. Amennyiben nem lehetséges ideális pályát készíteni az elemekből, akkor a kimenet első sorába írjuk a ,,Nem lehet ideális pályát készíteni.'' mondatot, míg a következő sorába - amennyiben tudunk - egy rövid indoklást arról, hogy miért nem.

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

A megoldáshoz segítségként néhány mintabemenet: s76peldabe.txt

(10 pont)

megoldás, statisztika


Figyelem!

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