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. márciusi 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. április 16-án LEJÁRT.


I. 154. Készítsünk képgaléria generátort: a program egy mappa képei alapján egy képgalériát tartalmazó weboldalt hozzon létre az adott mappában.

Első lépésben a parancssorból olvassa be egy könyvtár teljes elérési útját, (például i154 c:\kepeim\webre\mai\), majd készítsen listát az ott fellelhető fájlokról (az alkönyvtárakat nem kell figyelembe vennie). A mappa csak .gif, .png vagy .jpg típusú és kiterjesztésű képeket tartalmaz; minden képet egy nagyobb, és egy kisebb példányban. A kisebb méretű (index kép) fájlok neve k-val kezdődik, egyébként megegyezik a megfelelő nagy kép nevével és kiterjesztésével.

A program ezután készítsen a képeket tartalmazó mappába egy index.html, valamint minden egyes képnek egy a kép nevével azonos nevű .html kiterjesztésű állományt. Az index.html oldalon a kis képek négy oszlopban jelenjenek meg. A kis képek mindegyike legyen hivatkozás a saját nagy képet tartalmazó, a kép nevével egyező .html oldalra. A hivatkozott oldalak mindegyikén a megfelelő nagy kép jelenjen meg, mellette egy jobbra és egy balra link, amely a listában következő és előző nagy képre mutat, továbbá egy kis ikon, amivel az index képekhez lehet visszatérni.

Beküldendő a HTML oldalt generáló program forráskódja (i154.pas, i154.cpp, ...). A programok működésén kívül a generált weboldalak külalakját is értékeljük.

(10 pont)

megoldás, statisztika


I. 155. Zénó könnyen megfeledkezik barátai születésnapjáról, ezért elhatározta, hogy egy táblázatkezelő alkalmazást hív segítségül, mely egy héttel előre figyelmezteti az események közeledtéről. Már beírta a táblázatba a második sortól kezdődően, az első két oszlopba barátai nevét és születésének dátumát. Mivel nem ismeri eléggé a táblázatkezelőt, ezért megkért minket, hogy segítsünk neki befejezni a táblázatot.

A táblázat A1 cellájában szeretné megjeleníteni az aktuális dátumot. Ugyanennek a sornak a második cellájába a legközelebbi születésnapig hátralevő napok számát, illetve az ünnepelt(ek) nevét szeretné kiíratni, abban az esetben, ha egy héten belül esedékes az időpont. Ha több ilyen ismerőse is van, vesszővel legyen elválasztva a nevük. Amennyiben nem következik születésnap, a táblázatkezelő ne írjon ki semmit sem ebbe a cellába.

Beküldendő a táblázatkezelő alkalmazás (i155.xls, ...).

(10 pont)

megoldás, statisztika


I. 156. Érdekes ábrákat kaphatunk, ha szabályos sokszögeket különböző méretben egymás oldalaira rajzolunk.

Készítsünk programot, mely egy szabályos n (3\len<10) oldalú sokszög minden oldalára, a sokszög belseje felé egy másik n oldalú sokszöget rajzol, melynek az egyik oldala az eredeti sokszög megfelelő oldalának harmadoló pontjai közé esik. Ezután minden így kapott sokszögre ugyanezt az eljárást alkalmazza, összesen k (1<k<10) iteráció során (összesen k lépésben). A kirajzoláshoz szükséges paramétereket (n és k) a program a parancssorból olvassa be (az alábbi második példában i156.exe 4 5), a rajzot pedig a képernyő közepén, a lehető legnagyobb méretben jelenítse meg úgy, hogy annak minden része látható legyen.

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

(10 pont)

megoldás, statisztika


S-jelű feladatok

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


S. 25. Egy lakberendezési szaküzletben ,,L'' alakú csempéket lehet vásárolni. Minden csempe egy kanyar elemből, legalább egy, de legfeljebb három egyenes elemből, és két lezáró elemből épül fel. Az alábbi táblázat első oszlopa az ,,L'' betűk egyenes elemeit; második két oszlopa a kanyar elemeit, utolsó két oszlopa a betű két végére kerülő lezáró elemeket, és azok ASCII kódját tartalmazza:

Készítsünk programot, amely a parancssorban bekéri egy téglalap két oldalának mérőszámát (például 4×2-es téglalap esetén s25.exe 4 2), majd elkészíti a téglalap csempével való teljes kitöltésének egy olyan tervrajzát, amelynél a lehető legkevesebb csempét kell felvágni. A program az eredmény csempézés egyes elemeit soronként, szóközzel elválasztva a fenti karakterekkel, majd a nekik megfelelő számokkal a szöveges képernyőre írja. Az előző 4×2-es példa kimenete:

További példaként: egy lehetséges csempe:

Egy 2×5-ös téglalap kitöltése (egyetlen csempe vágása nélkül):

Egy 6×6-os téglalap kitöltése (szintén vágás nélkül):

Beküldendő a program forráskódja (s25.pas, s25.cpp, ...), valamint rövid dokumentációja (s25.txt, s25.pdf).

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