Az I. 313. feladat (2013. február) |
I. 313. A fák évgyűrűi az évszakok miatt alakulnak ki a mérsékelt éghajlati övben. A fák télen és nyáron eltérő mértékben növekednek. Az évgyűrűk vastagsága között különbség van, mert a növekedés mértékére hatással van például az adott időszakban az időjárás szárazabb vagy csapadékos jellege. Az évgyűrűk vizsgálata így lehetővé teszi az éghajlat kutatását. A dendrokronológiát a régészek szívesen használják kormeghatározásra. Ha azonos éghajlatú területen két fa eltérő időpontban ,,született'', de életükben volt közös szakasz, akkor abban az időszakban az évgyűrű szerkezete hasonló. Ennek segítségével több fa évgyűrűmintázata összeilleszthető. Egyes területeken a régészek évezredekre visszamenő pontos kronológiával rendelkeznek.
Adott N fa évgyűrűmintája, azaz az évgyűrűk vastagsága milliméter pontossággal. A mintavétel módszerének részleteitől, statisztikai feldolgozásának elemzésétől most eltekintünk.
A fák eltérő fajúak és korúak lehetnek, ezért a minták illesztésénél az egymás utáni évgyűrűvastagságok arányainak sorozatát hasonlítjuk össze. Például az egyik mintában a 6, 4, 2, 8, 5 milliméter széles gyűrűk esetén az összehasonlítást 0,66, 0,50, 4,00, 0,62 sorozattal végezzük.
Az illesztést akkor tekintjük jónak, ha legalább 10 arány legföljebb egy százalék hibával azonos és a hátralévő részében rövidebb minta minden aránya megegyezik a hosszabbikéval. Vegyük figyelembe, hogy akár több minta is illeszkedhet. A legrégebben kifejlődött fa évgyűrűmintája szerepel elsőként a fájlban tárolt mintázatok között.
Készítsünk programot i313 néven, amely megadja N évgyűrűminta esetén a legtöbb évet lefedő, az elsőből induló, illeszkedő mintasorozatát és ehhez a minták sorrendjét. A képernyőn az évek számát és a minták sorrendjét jelenítsük meg.
A program parancssori argumentuma legyen az évgyűrűminták adatait leíró adatállomány neve. A fájl első sorában N (2N50) a minták számát adja meg. Az ezt követő N sor az egyes minták adatait adják meg. Minden sor első értéke H (10H500) az adott minta évgyűrűinek száma, majd H darab egész szám, az évgyűrűk szélességei következnek.
Beküldendő a program forráskódja (i313.pas, i313.cpp, ...) és rövid dokumentációja (i313.txt, i313.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)
A beküldési határidő 2013. március 11-én LEJÁRT.
Megoldásokról:
Minden versenyző észrevette, hogy a feladat kitűzésében szereplő példán a lefedett évek száma téves. Nem 49, hanem 80 év a minták együttes hossza.
Mintamegoldás:
Varga Erik 12. évfolyamos tanuló (Budapest, Berzsenyi Dániel Gimnázium) programját mutatjuk be: i313.cpp
Tesztállományok: teszt.zip
Statisztika:
6 dolgozat érkezett. 10 pontot kapott: Fehér Balázs, Fényes Balázs, Gema Barnabás, Tegzes Tamás, Varga 256 Erik. 9 pontot kapott: Qian Lívia.
A KöMaL 2013. februári informatika feladatai