A KöMaL 2011. 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ő 2011. október 10-én LEJÁRT. |
I. 271. Szilárd anyagokon folyadék átszivárgását vizsgáljuk (a jelenség neve: perkoláció). Készítsünk programot i271 néven a folyamat bemutatására. Modellünkben egy n×n-es (1n500) négyzet alakú terület -- a szilárd anyag függőleges metszete -- minden cellája p (0,00p1,00) valószínűséggel átengedi a folyadékot (például egy mikrorepedés alakul ki), és 1-p valószínűséggel pedig nem.
Az első ábrán látható anyag nem, de a másodikon látható már átengedi a folyadékokat felülről lefelé (a sötét mezők a folyadékot átengedő anyagrészek). A folyadék lehetséges mozgásiránya egy anyagcellából balra lefelé, lefelé vagy jobbra lefelé lehetséges:
Készítsünk statisztikát arról, hogy a p valószínűség függvényében hányszor volt folyadékátengedő az anyag. A négyzet n oldalhossza a megadott feltételek között tetszőleges, a statisztika készítése során rögzített. n értéke szerepeljen a dokumentációban is. Minden p értéknél legalább 100 anyaghalmazt generáljunk és számoljuk meg, hogy ebből hányszor volt átengedő az anyag (na, 0na generálások száma). A p, na számpárokat írjuk ki egy szöveges adatállományba, majd táblázatkezelő rendszerben PontXY típusú diagramon ábrázoljuk a méréseinket.
Beküldendő egy i271.zip tömörített állományban a program forráskódja (i271.pas, i271.cpp, ...), a diagramot tartalmazó táblázatkezelő állomány (i271.xls, i271.ods, ...), valamint a program rövid dokumentációja (i271.txt, i271.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)
I. 272. Egy autósporttal foglalkozó kiadvány számára az internetről összegyűjtöttük a Forma 1-es versenyzők főbb adatait. Mivel a források angol nyelvűek voltak, ezért a megjelenítéshez az adatokat alakítsuk át a szerkesztő kívánalmainak megfelelően, majd készítsünk statisztikát.
1. Töltsük be az adat.txt tabulátorokkal tagolt szövegfájl tartalmát a táblázatkezelő versenyző munkalapjára és mentsük el forma1 néven a táblázatkezelő alapértelmezett formátumában (a szövegfájl honlapunkról letölthető).
2. A D oszlopban a pilóta nevét a következő formában jelenítsük meg: ,,Zsolt Baumgartner (Hungary)''.
A szerkesztő a neveket születési idő szerint növekvő sorrendben kéri, ezért az E oszlopban meg kell határoznunk a születési dátumot. Ehhez a C oszlop adatait az alábbi feladatok szerint dolgozzuk fel. Ha szükséges, a J oszloptól jobbra segédszámításokat végezhetünk és segédtáblát készíthetünk:
3. Az F oszlopban határozzuk meg a születés évét.
4. A G oszlopban határozzuk meg a születés hónapját.
5. A H oszlopban határozzuk meg a születésnapot.
6. Az E oszlopban határozzuk meg a születési dátumot. A dátum a következőképpen jelenjen meg: ,,1981. január 1.''
7. A pilóták adatait rendezzük a születési idő szerint növekvően.
8. A munkafüzetbe szúrjunk be egy új lapot ország néven. Ennek A oszlopában tüntessünk fel minden országot, amelynek volt Forma 1-ben szereplő versenyzője. A B oszlopban határozzuk meg ezek számát.
9. A legalább 15 versenyzőt adó országok adatait jelenítsük meg kétdimenziós oszlopdiagramon. A skála 10-től induljon, az egyes oszlopok mintázata pedig az adott ország zászlója legyen.
10. A kiadvány szerkesztője úgy gondolja, hogy az év minden napjára választ egy versenyzőt, aki azon a napon született, és őt mutatja be. Ennek előkészítésére hozzunk létre egy nap nevű munkalapot.
11. A nap munkalap A oszlopában jelenítsük meg az év napjait január 1-től december 31-ig. Az egyes cellákban a hónap neve és a nap sorszáma látszódjon.
12. A nap munkalap B oszlopában határozzuk meg, hogy az adott napon hány versenyző közül választhat a szerkesztő. A feladat megoldásához a versenyző munkalapon vagy a nap munkalapon segédcellákat használhatunk.
Beküldendő egy tömörített i272.zip állományban a táblázatkezelő munkafüzet (i272.xls, i272.ods, ...), illetve egy rövid dokumentáció (i272.txt, i272.pdf, ...), amelyben szerepel a megoldáskor alkalmazott táblázatkezelő neve, verziószáma.
A megoldáshoz szükséges letölthető állomány: adat.txt
(10 pont)
I. 273. A közismert videomegosztókon a Magyar népmesék sorozat több tagja is fellelhető. Az egyik meséből készítsünk weboldalon bemutatható diafilmet. A diafilm minden kockája állókép, amely alatt fekete mezőben fehér betűkkel a történet egy-egy részletét ismertető néhány mondat szerepel. A kész weboldal a filmet a diavetítéshez hasonló módon jelenítse meg. Ehhez minden olyan webes eszköz igénybe vehető, amely offline is működik, lehet pl. Javascript vagy Flash. Ügyeljünk a tartalmi helyességre, formailag pedig próbáljuk visszaadni a diafilmvetítés hatását.
Beküldendők egy tömörített i273.zip állományban i273.html néven a weboldal egyetlen HTML dokumentuma, a hozzá tartozó képek és megjelenítést szolgáló egyéb fájlok, valamint a megoldás leírása (i273.txt, i273.pdf, ...), amelynek része a film forrása is.
(10 pont)
S-jelű feladatokA beküldési határidő 2011. október 10-én LEJÁRT. |
S. 64. Egy kezdetben N hosszú tömbből egymás után kitöröljük összesen K darab, pozíciójával megadott elemét. Minden törlés után -- a tömböknél megszokott módon -- a törölt elemet követő elemek eggyel előrébb csúsznak: a rákövetkező törlendő pozíció az így kapott új tömb vonatkozásában értendő (ld.: példa).
Írjunk programot, amely az eredeti tömb és a törlendő pozíciók ismeretében meghatározza az eljárás végén megmaradt N-K hosszú tömbben az elemek összegét.
A standard bemenet első sorában két, szóközzel elválasztott szám, az eredeti tömb hossza, majd a törlendő elemek 0KN száma található. A bemenet második sorában egy-egy szóközzel elválasztva az eredeti x1,x2,...,xN (0xj232-1, egész) tömbelemek, míg harmadik sorában rendre a törlendő i1,i2,...,iK (1ikN-k+1) indexek szerepelnek.
A standard kimenet egyetlen sorába egyetlen szám, a törlések elvégzése után kapott tömb elemeinek összege kerüljön.
Beküldendő a program forráskódja (s64.pas, s64.cpp, ...) az .exe és más, fordító által generált állományok nélkül, valamint a program rövid dokumentációja (s64.txt, s64.pdf, ...), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrás melyik fejlesztő környezetben fordítható egy tömörített s64.zip állományban.
(10 pont)
Figyelem!
Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.