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 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ű feladatok

A 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 (1\len\le500) négyzet alakú terület -- a szilárd anyag függőleges metszete -- minden cellája p (0,00\lep\le1,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, 0\lena\le generálások száma). A pna 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)

megoldás, statisztika


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)

megoldás, statisztika


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)

megoldás, statisztika


S-jelű feladatok

A 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 1\le N\le
1\;000\;000 hossza, majd a törlendő elemek 0\leK\leN száma található. A bemenet második sorában egy-egy szóközzel elválasztva az eredeti x1,x2,...,xN (0\lexj\le232-1, egész) tömbelemek, míg harmadik sorában rendre a törlendő i1,i2,...,iK (1\leik\leN-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)

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.