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 2007. novemberi 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ő 2007. december 17-én LEJÁRT.


I. 169. Adott N darab vékony rúd. Az első rúd egyik végét rögzítjük, és e rögzített vége körül \omega1 szögsebességgel forgatjuk. A további rudak mindegyikét sorban az előző rúd szabad végéhez rögzítjük, és ahhoz képest \omegai szögsebességgel forgatjuk. Kezdetben minden rúd azonos irányban áll.

Készítsünk programot, mely kirajzolja a legutolsó rúd szabad végpontjának pályáját. A program a bemeneti adatokat indításkor kérje be a felhasználótól: a rudak N számát (1\leN\le10), majd 2N darab nemnegatív egész számot: minden rúd Li (1\leLi\le100) hosszát, illetve \omegai szögsebességét.

Példa:

Beküldendő a program forráskódja (i169.pas, i169.cpp, \ldots), valamint a program rövid dokumentációja (i169.txt, i169.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. 170. Barátunk, Berez Elek, rendszergazdaként dolgozik egy vállalatnál. Most azonban nagy hibát követett el: véletlenül letörölte főnöke, Feledékeny Félix féltve őrzött programját.

A programot arra használták, hogy leveleket ,,digitálisan aláírjanak'' vele. Ez az eljárás a gyakorlatban úgy működött, hogy a főnök minden levelének végére odaírt egy a levél tartalmától függő szót, majd a program segítségével előállította ennek a szónak a titkos kódját, és azt is odaírta. Másrészt, a főnök bármikor meggyőződhetett arról, hogy egy korábbi levélnek valóban ő a szerzője: ha egy levél végén található szót a programba beírt, és így ugyanazt a kódot kapta vissza, amit a levélen is látott, akkor biztos lehetett benne, hogy a levél nem hamis.

Sajnos Elek csak három levelet talált, ezeken az alábbi aláírás/titkos kód páros szerepel:

Nemes/wiqiRd
kemence/igriqioh
TROMBITA/EXMFQSVXP

Segítsünk Eleknek megmenteni az állását, és írjuk meg a titkosító programot. A program a szót a felhasználótól kérje be, majd a monitoron jelenítse meg a kódolt alakot.

Beküldendő a program forráskódja (i170.pas, i170.cpp, ...).

(10 pont)

megoldás, statisztika


I. 171. Készítsük el egy iskolai felmérés adatainak kiértékelését táblázatkezelő alkalmazás segítségével. Az adatok egy munkafüzet ,,Mérési adatok'' nevű munkalapján találhatók. A munkalap első sorában az első cellát kihagyva a mérésben vizsgált képességek egy szóból álló rövid megnevezései találhatók. Például a B1 cella tartalma ,,beszéd'', a C1 tartalma ,,írás'', a D1 tartalma ,,számolás'', és így tovább. A felmérésben hét képességet vizsgáltak. A vizsgált tanulók mindegyike egy évfolyam ,,A''-tól ,,F''-ig jelölt osztályának valamelyikébe jár; összesen legföljebb 300 diák. Ugyanezen munkalap második sorától kezdődően az egyes tanulók osztályának megnevezése és a diák által elért eredmények szerepelnek. Az A oszlopban mindegyik tanulónál az ,,A osztály'', ,,B osztály'', ..., ,,F osztály'' szöveg egyike, a további oszlopokban a megfelelő képességekre kapott értékek, melyek 1 és 100 közötti egész számok, illetve 0 (vagy üres cella), ha a tanuló nem volt jelen az adott képesség vizsgálatakor.

A munkafüzet ,,Szempontok'' nevű munkalapján az egyes képességekhez tartozó kiértékelési szabályok találhatók, melyek segítségével az egyes képességek szerint öt csoportba soroljuk az egyes osztályok tanulóit. Például ha ,,számolás'' alapján az I. csoportba az 1--24 pontot elért tanulók, a II. csoportba a 25--45 pontot elért tanulók, a III. csoportba a 46--58, a IV. csoportba az 59--80, és az V. csoportba a 81--100 pontot elért diákok tartoznak, akkor a munkalap első hét sorának egyikében az első oszloptól kiindulva a ,,számolás'', 24, 45, 58, 80, 100 értékek szerepelnek. A sor első cellájában tehát a felmérésben szereplő hét képesség egyszavas megnevezése, a következő hat cellájában a hozzá tartozó öt csoport legnagyobb értékei szerepelnek. A képességek sorrendje a mérési adatokat és a szempontokat tartalmazó munkalapon nem feltétlenül egyezik meg.

Készítsük el az ,,Eredmények'' nevű munkalapot, amelyről könnyen leolvasható a válasz a következő kérdésekre:

\bullet hány diák vett részt a felmérésben osztályonként, képességenként, összesen;

\bullet hány diák sorolható az egyes képességek öt csoportjába osztályonként, összesen;

\bullet milyen lesz az osztályok sorrendje az egyes képességek szerint, illetve az összes képességet együttesen vizsgálva, ha a sorrendet az szabja meg, hogy melyik osztálynak van több diákja a legmagasabb pontszámú csoportban, illetve ha az egyező, akkor az eggyel gyengébb csoportban, és így tovább?

Beküldendő a táblázatkezelő munkafüzet (i171.xls, i171.ods, ...), illetve egy rövid dokumentáció (i171.txt, i171.pdf, ...), amelyben szerepel a megoldáskor alkalmazott táblázatkezelő neve, verziószáma, valamint a megoldás rövid leírása.

(10 pont)

megoldás, statisztika


S-jelű feladatok

A beküldési határidő 2007. december 17-én LEJÁRT.


S. 30. Meg szeretnénk határozni, hogy egy területen adott csapadékmennyiség esetén hol alakulnak ki tavak, tócsák. Az egyszerűség érdekében a területet keresztmetszetét tekintjük, és azt rögzített hosszúságú, vízszintes szakaszokra osztjuk, melyeknek ismerjük egymáshoz viszonyított magasságát. Azt is feltesszük, hogy a területen egyenletesen oszlik el az eső.

Az esővíz a magasabban lévő vízszintes szakaszokról a velük szomszédos, alacsonyabban lévő vízszintes szakaszokra folyik. Azokon a szakaszokon, melyeknek mindkét szomszédos szakaszának vízszintje alacsonyabban van, fele-fele arányban oszlik szét a két szomszédos szakasz között a középsőre eső csapadék. A terület szélein lévő szakaszokról csak a terület belseje felé tud folyni a víz.

Készítsünk programot, mely meghatározza, hogy az esőzés után végül mely szakaszokon gyűlt össze a csapadékvíz. A program a bemenetet az s30.be fájlból olvassa. Ennek első sora két, szóközzel elválasztott egész számot tartalmaz: a csapadék milliméterben mért mennyiségét és a szakaszok N számát (1\le N\le 10\;000). A második sor pontosan N darab, szóközzel elválasztott egész számot tartalmaz: sorra az egyes szakaszok magasságát, milliméterben mérve, a legalacsonyabb magassághoz viszonyítva.

A program kimenete az s30.ki fájl legyen, melynek egyetlen sora N db, szóközzel elválasztott számjegyet tartalmazzon. Az i-edik számjegy 1, ha az i-edik szakaszon van víz, egyébként pedig 0.

A fent látható ábrához tartozó példa:

(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.