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 2005. májusi 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ő 2005. június 15-én LEJÁRT.


I. 106. Kísérletezzünk, gondolkozzunk! Szemléltessünk gráfokat változtatható ábrákkal.

Írjunk olyan programot, amely az egér bal gombjának minden egyes lenyomásakor megjeleníti azt a pontot, ahova a kurzor pillanatnyilag mutat, az egér jobb gombjának minden egyes lenyomásakor megjeleníti ezt a pontot és azt a szakaszt, amely az előző ponttól ide mutat (egy él, illetve sorozatos jobb gomb lenyomással: út vagy kör megrajzolása a gráfban).

A képernyő jobb szélén létesítsünk menü-sávot, melyben egyenlő méretű négyzeteket (nyomógombokat) helyezzünk el:

- a képernyő alján a futás végét jelentő gombot;

- tetején egy csoportban 3 gombot, amelyekbe beírt körlemez mutatja, hogy milyen pontossággal kell egy ,,régi'' pontot eltalálnunk az egérrel, hogy az ,,új'' pont azonos legyen a ,,régivel'' (a program indulásakor a közepes pontosság legyen érvényben);

- középmagasságban egy csoportban még 2 gomb:

    - az egyik a ,,rajzolás'' üzemmódot állítja be (ez az alapértelmezett: ekkor a program a fenti módon dolgozik),

    - a másik pedig a ,,módosítás'' üzemmód: ekkor az egér bal gombjának lenyomásával ,,megfoghatunk'' egy már létező pontot, és azt (folyamatosan lenyomott egérgombbal) ,,elhúzhatjuk'' egy új helyre, a hozzá tartozó gráf élek folytonos újrarajzolása közben (,,gumi-élek'');

- további gombbal megvalósítandó az ,,undo'' funkció is.

Beküldendő a futtatható program (i106.exe, 10 pont) és(!) annak (pascal vagy c) forrásnyelvi listája (i106.pas, ..., 5 pont).

(15 pont)

statisztika


I. 107. Legyen m és n pozitív egész szám. A memóriában van egy m+n elemszámú tömb. Cseréljük fel a tömb első n és utolsó m elemét úgy, hogy ehhez ne kelljen újabb területet lefoglalni a memóriában (néhány segédváltozó használata megengedett), és hogy eközben az első n, illetve az utolsó m elem egymás közötti sorrendje változatlan maradjon.

Beküldendő az algoritmus pontos és részletes leírása (i107.txt, 10 pont), valamint a segédváltozók jellemző értékeit kiszámító táblázat (i107.xls, 5 pont).

(15 pont)

statisztika


I. 108. Egy bank ügyfeleinek folyószámláit természetes számok azonosítják egyértelműen. Minden folyószámlának van egyenlege, amely egy egész szám. A folyószámla nyilvántartást egy szekvenciális fájlban tárolják, amely a folyószámla azonosító szerint szigorúan monoton növekvően rendezett. Az ügyfelek napi tranzakcióit a bank összegyűjti egy ugyanígy rendezett újabb szekvenciális fájlba. A lehetséges tranzakciók: új ügyfél felvétele adott kezdő egyenleggel; ügyfél törlése; ügyfél egyenlegének adott összeggel történő megváltoztatása.

Állítsuk elő a nap végén az új folyószámla nyilvántartást.

Beküldendő a program (i108.pas, ...).

(10 pont)

statisztika


S-jelű feladatok

A beküldési határidő 2005. június 15-én LEJÁRT.


S. 9. Manapság bárki letölthet különböző DNS mintákat az internetről. Egy-egy ilyen leírás leegyszerűsítve a bázisok rövidítéseinek felsorolásából áll, tehát az ,,a'' ,,c'' ,,g'' és ,,t'' betűkből. Feladatunk most egy ilyen leírásban (amiben tehát csak az a, c, g, t betűk szerepelnek) keresni egy sorozatot (pl. egy gént). A leírást és a keresendő mintát egy-egy szövegfájlban adjuk meg. Mindkét fájl első sorában a betűk száma áll, ezután következik az a, c, g, t betűkből álló sorozat, amit az olvashatóság kedvéért legfeljebb 100 hosszúságú sorokra tördelünk.

A program a parancssorban kapja meg a szükséges fájlneveket; előbb a leírást, másodszor pedig a mintát tartalmazó fájl nevét. A program outputja a standard kimenetre: 0, ha a keresett minta nem szerepel, és i, ha a keresett minta első előfordulása az i-edik pozíción kezdődik. (A pozíciók számozását 1-től kezdjük.)

A leírásról feltehetjük, hogy maximum 50 millió, a keresett minta pedig maximum 1 millió betűből áll. Tesztadatok itt találhatók.

Példa:

leiras.txtminta.txtA program futtatása
50
agcgtagcatcgatccgata
cgatggtgcacacggcatac
gtacatcgct
5
atcgc
45

(10 pont)

statisztika


Figyelem!

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