A KöMaL 2009. szeptemberi 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ő 2009. október 12-én LEJÁRT. |
I. 217. A kristályosodás folyamatát és eredményét például az itt leírt módon vizsgálhatjuk. Legyen N kristályosodási góc egy M×M-es, olvadt anyagot tartalmazó reakciótérben. Az olvadékot fehér és minden növekvő kristályt más szín jelöl. A kristályosodás a már kivált (színes) kristály felszínén megy végbe, tehát a kristály reakciótérbeli oldalszomszédai felé folytatódik. Minden kristály azonos sebességgel, 1 réteggel nő lépésenként.
Az 1. ábrán egy példa látható a kristályok növekedésére 3 lépés után.
1. ábra
A kristályosodás folyamatának párhuzamosságát azzal biztosítjuk, hogy minden lépésben az összes növekvő kristályt megvizsgáljuk, és ha lehetséges, a felszínükre újabb réteg válik ki. Csak az olvadt anyag tud kristályosodni, a kivált anyag már nem változhat.
Készítsünk szimulációs programot, amely N (3N15) kristályosodási gócot véletlen helyre elhelyez az M×M (10M600) reakciótérben. A kristályok véletlenszerűen választott színnel növekedjenek ott, ahol még olvadék van. A szimuláció addig tartson, ameddig az összes olvadék ki nem kristályosodik.
Egy lehetséges eredmény látható a 2. ábrán.
2. ábra
Beküldendő a feladat megoldását tartalmazó forrás és projektállományok (az .exe és más, a fordító által generált kiegészítő állományok nélkül) egy tömörített mappában (i217.zip).
(10 pont)
I. 218. Az informatikában jártas felhasználók, a fórumok és blogok mellett, igen hatékonyan használják a levelezési listákat is. A nyílt listák minden beérkező levelet továbbítanak, a zárt listák viszont csak a listatagok leveleit.
Az alábbi adatbázis egy listaszerver által kezelt listákat, azok forgalmát és tagságát tartalmazza. (Az adatbázis által tárolt adatok kitaláltak.)
1. Készítsünk új adatbázist levlista néven. A mellékelt négy adattáblát (lista.txt, szemely.txt, tagsag.txt, log.txt) importáljuk az adatbázisba a fájlnévvel azonos lista, szemely, tagsag és log táblanéven. Az állományok tabulátorral tagolt, UTF-8 kódolású szövegfájlok, az első sorok a mezőneveket tartalmazzák. A létrehozás során minden táblában állítsuk be a megfelelő típusokat, és jelöljük meg a kulcsnak alkalmas mezőt. A log táblához adjunk hozzá az néven egyedi azonosítót.
Táblák
lista (nev, admin, zart)
|
szemely (nev, email)
|
tagsag (az, email, listanev, felirido, leirido)
|
log (az, listanev, felado, ido)
|
A következő feladatok megoldásánál a lekérdezéseket és a jelentést a zárójelben olvasható néven mentsük. Ügyeljünk arra, hogy a megoldásban pontosan az előírt oszlopok szerepeljenek, felesleges adatokat ne jelenítsünk meg.
2. Készítsünk lekérdezést, amely ábécérendben jeleníti meg a tel.hu-s címmel rendelkező személyek nevét (2tel).
3. Készítsünk jelentést, amely adminisztrátoronként csoportosítva sorolja fel a levelezési listákat. Az adminisztrátor e-mail címe mellett jelenjen meg a kezelt listák száma (3admin).
4. Készítsünk lekérdezést, amely listánként megadja, hogy a listaszerverre hány zárt listára címzett levél érkezett 2007-ben (4zart2007).
5. Készítsünk lekérdezést, amely megadja, hogy melyik listán indult meg utoljára a forgalom. Adjuk meg a lista nevét és az első levél érkezési idejét (5utolso).
6. Készítsünk lekérdezést, amely megadja, hogy jelenleg mely listák tagjaihoz juttathatja el leveleit az a.and@suli.eu e-mail című személy (6and).
7. Készítsünk lekérdezést, amely megadja azokat a listákat, amelyeknek 2008. január 1-jén 0 órakor 40 főnél több tagja volt (7tagszam).
8. Készítsünk lekérdezést, amely kilistázza a matek listáról kiküldött leveleket. Jelenítsük meg a feladó e-mail címét és a levél érkezési idejét. A megjelenítés sorrendjét a levél érkezési ideje szabja meg (8matek).
Beküldendő az adatbázis (i218.odb, i218.mdb) valamint egy rövid dokumentáció (i218.txt, i218.pdf), amelyből kiderül az alkalmazott adatbázis-kezelő neve, verziószáma egy i218.zip tömörített állományban.
Az adatbázisba importálandó adattáblák: i218source.zip
(10 pont)
I. 219. A www.kísérletek.hu (ékezetes domain) oldalon gyakorlati fizika feladatok, érdekes kísérletek találhatók, melyek egy részét a honlap alkotói filmeken is bemutatják. Készítsünk kb. félperces videoklipet a honlap népszerűsítésére annak öt szabadon választott kísérlete egyes részleteinek felhasználásával.
A filmet például az ingyenesen használható Pinnacle VideoSpin vagy a Cinelerra programmal készíthetjük el (letölthetőek a www.videospin.com, illetve a cinelerra.org oldalról). A filmbetétekből a számunkra legérdekesebb részeket vágjuk ki, az egyes részek között alkalmazzunk átmeneteket, ahol ezt érdemesnek gondoljuk, helyezzünk el feliratokat. A filmrészletek eredeti szövege helyett saját vagy kedves, csengő hangú ismerősünk hangján röviden ismertessük a kísérleteket és népszerűsítsük a honlapot.
Beküldendő az elkészült film Windows Media vagy MPEG-4 formátumban (i219.wmv, i219.mp4), élvezhető minőségű tömörítési beállításokkal, de 2 MB-nál kisebb méretben, és egy rövid leírás arról, hogy az egyes filmrészletek pontosan mely témakörök és kérdések filmjeiből származnak (i219.txt, i219.pdf) egy tömörített mappában (i219.zip).
(10 pont)
S-jelű feladatokA beküldési határidő 2009. október 12-én LEJÁRT. |
S. 46. A legtöbb hiedelemvilággal ellentétben a bergengóc mitológiát mélyen áthatják a természettudományok világából származó elemek. Úgy tartják például, hogy balszerencsét hoz, ha egy hajó fővitorlája nem négyzet alakú, vagy oldalhossza -- méterben kifejezve -- nem kettőhatvány.
Ennek megfelelően a kikötőkben is kizárólag négyzet alakú, kettőhatvány oldalhosszú vitorlavásznakat kínálnak, illetve a varrodákban is csak négy egyforma méretű vászonból készítenek egy kétszer akkorát.
Készítsünk programot, mely a kikötőben kapható, különböző méretű vásznak árainak ismeretében meghatározza, hogy legolcsóbban mennyiért tehetünk szert egy kívánt méretű vitorlára.
A standard bemenet első sorában három, szóközzel ellátott egész szám: az eladásra kínált vitorladarabok száma, a készíteni kívánt vitorla 1A=2a2048 oldalhossza, illetve a varratás folyóméterenkénti 0V1000 költsége szerepel. Azt ezt követő N darab sor mindegyike két egész számot, egy-egy portéka 1Bi=2biA oldalhosszát és árát tartalmazza. A sorok oldalhossz, majd ár szerint monoton növekvően rendezettek.
A standard kimenet egyetlen sorába egyetlen egész szám kerüljön: az a minimális összeg, amelyből elkészíthető a kívánt vitorla. (A teljes költség az alapanyag és az esetleges varratási díj összege.) Feltehetjük, hogy mindig van megoldás.
Beküldendő a feladat megoldását tartalmazó forrás és projektállományok (az s46.exe és más, a fordító által generált kiegészítő állományok nélkül), valamint a megoldás menetét bemutató dokumentáció egy tömörített mappában (s46.zip).
A kiadott mintabemenetek: s46teszt.zip. Ezek közül legalább ötre kell rendben lefutnia és formailag helyes eredményt adnia a programnak. Részletesebb információ a Versenykiírásban, ill. a tömörített csomagban.
(10 pont)
Figyelem!
Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.