A KöMaL 2006. 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ű feladatokA beküldési határidő 2006. április 18-án LEJÁRT. |
I. 127. Egy iskolában az egyik titkárnő feladata a tanulók részére elkészíteni a havi ebédjegyeket. Minden hónapban kap egy mintát, amit fénymásolással sokszorosít, és a másolatokat kivágja.
A titkárnő a már meglévő ebédjegyeket és a mintát egymás mellé helyezi a gépbe, hogy egyszerre többet tudjon másolni. Néhányszor lemásolja őket, majd az így készült lapokból kivágja az ebédjegyeket. A kivágott jegyeket a korábbiak mellé illeszti, és megismétli a folyamatot. (A fénymásolóra helyezhető ebédjegyek számát tekintsük korlátlannak.) Mind a másolás, mind a jegyek kivágása bizonyos időbe telik, ami nem függ a másolt vagy szétvágott jegyek számától.
Készítsünk programot, ami segít a titkárnőnek a kellő számú ebédjegy minél gyorsabb elkészítésében. A program kérdezze meg a szükséges ebédjegyek számát (a mintadarabbal együtt), a fénymásoláshoz és a vágáshoz szükséges időket. Ezekből számolja ki az ebédjegyek elkészítésének minimális idejét, és adja meg a lépéseket. A lépéseket egymás mellé írt F (fénymásolás) és K (kivágás) betűkkel kódolja.
A szükséges ebédjegyek száma legfeljebb 1000. A titkárnő nagyon takarékos, mindig pontosan a kért számú ebédjegyet készíti el, és soha sem másol a szükségesnél többet.
Példa (dőlt betűvel jelöltük a számítógép által kiírt üzeneteket):
Ebédjegyek száma: 64
Fénymásolás ideje: 1
Kivágás ideje: 8
Idő: 30
Folyamat: FFFFFFFKFFFFFFFK
Beküldendő a program forráskódja (i127.pas, i127.cpp, ...).
(10 pont)
I. 128. Készítsünk LATeX dokumentumot, amely a szinusz- és koszinuszfüggvény néhány legfontosabb tulajdonságát mutatja be. A dokumentum tartalmazza legalább 3 azonosság kimondását, és a két függvény grafikonjának képét. A függvények 0,1,...,90 fokos szögekhez tartozó értékeit a függvénytáblához hasonlóan foglaljuk táblázatba.
A szöveg elején szerepeljen a KöMaL megoldásoknál megszokott fejléc (a feladat száma, név, osztály, város, iskola, e-mail cím). A táblázatok, képletek és ábrák számozásához használjuk a LaTeX automatikus eszközeit, és a szövegben címkék alapján hívatkozzunk ezekre a sorszámokra.
A dokumentumot PDF-be konvertálva is küldjétek be. Beküldendő a LaTeX forrásfájl (i128.tex) és a belőle készített PDF fájl (i128.pdf).
(10 pont)
I. 129. Egy iskolában adatbázisban rögzítik a rendszergazdák teendőit. A iskola dolgozói és tanulói egy internetes űrlapon jelenthetik be a hibákat. A hibák az adatbázisba kerülnek, a feladatokat az informatikai munkaközösség egyik tagja rendeli a rendszergazdákhoz. A hibabejelentés egy kódot, a bejelentés dátumát, a hibás eszköz azonosítóját és a hiba rövid leírását tartalmazza. A bejelentés után dől el, melyik rendszergazda felelős a hiba elhárításáért. Ekkor állapítják meg a probléma megoldásának fontosságát is. Bejelentéskor a hiba státusza ,,bejelentve'', a hozzárendelés után ,,folyamatban'' és a probléma megoldásakor ,,megoldva''.
Az adatbázis a következő táblákat tartalmazza:
|
A táblák szerkezete:
hiba(
hibaaz : egész; a hibák azonosítója, elsődleges kulcs
bdat : dátum; a hibabejelentés dátuma (év-hónap-nap)
hdat : dátum; a hibát ekkor rendelték valamelyik rendszergazdához
(év-hónap-nap)
rgaz : egész; a felelős rendszergazda azonosítója
mdat : dátum; a probléma megoldásának dátuma (év-hónap-nap)
stat : felsorolás; értéke 'bejelentve', 'folyamatban' és 'megoldva' lehet,
a hiba státusza
szgaz : egész; a hibás eszköz kódja
hibadef: szöveg; a hiba leírása
prior : felsorolás; értéke 'A','K' és 'M' lehet (alacsony, közepes, magas),
a probléma fontosságát jelzi
)
rg(
rgaz : egész; a rendszergazda azonosítója, elsődleges kulcs
neve : szöveg; a rendszergazda neve
tel : szöveg; a rendszergazda telefonszáma
)
szg(
szgaz : egész; a gép azonosítója, elsődleges kulcs
hely : egész; a gép szobaszáma
tip : felsorolás; értéke 'pc', 'szerver' és 'printer' lehet,
az eszköz típusa
)
A következő feladatokat SQL parancsok segítségével kell megoldani. Az első nyolc kérdéshez SQL lekérdezéseket kell írni (,,SELECT''), az utolsó kettőhöz pedig módosító (,,UPDATE'') és törlő (,,DELETE'') parancsot.
Soroljuk fel ,,Kiss Béla'' megoldatlan feladatait! Hány olyan probléma van, amely több mint 30 napja nincs megoldva? Melyik szobákban vannak megoldandó feladatok? Melyik probléma megoldása tartott legtovább? (A bejelentéstől számolva.) Hány hibabejelentés vonatkozik nyomtatóra? Listázzuk rendszergazdánként a megoldatlan feladatok számát! Írjuk ki azon rendszergazdák nevét, akiknek van megoldatlan magas prioritású feladata! Melyik a legrégebben bejelentett megoldatlan probléma? Módosítsuk a megoldatlan problémák fontosságát magasra! Töröljük az adatbázisból a 2005-ben megoldott hibákat!
Segítségül, a KöMaL szerverén létrehoztunk egy példa adatbázist, amely a http://www.komal.hu/i129/ címen elérhető. Lehetőség van SQL lekérdezések futtatására, így az első 8 kérdés tesztelésére is.
Beküldendő a 10 SQL parancs egy egyszerű szöveg fájlban (i129.txt).
(10 pont)
S-jelű feladatokA beküldési határidő 2006. április 18-án LEJÁRT. |
S. 16. Írjunk programot, amely a térbeli malom játékban egy tetszőleges állásban lépést javasol. A játékot két játékos játszhatja. A játéktér 4×4 függőleges pálcából áll, a két játékos ezekre tesz rá felváltva egy-egy bábut (átfúrt golyót); a kezdő világosat, a második sötétet. Mindegyik pálcára négy-négy golyó fér, ez összesen tehát 43=64 hely. Az a játékos nyer, akinek előbb sikerül elérni, hogy valamelyik négy bábuja egy vonalban helyezkedjen el. Ha mind a 64 golyót elhelyezték és senki sem nyert, az eredmény döntetlen.
A pálcákat jelöljük a sakktáblához hasonlóan a1, ..., d4-gyel.
A program a standard bemenetről olvassa be az állást. Minden sor négy-négy pálca tartalmát fogja jelenteni. A gép bábuit O-betű, az ellenfél bábuit X, az üres helyeket - karakter jelenti. Az első sorban az a1,a2,a3,a4 pálcák, a másodikban a b1, ..., b4 pálcák stb. tartalma fog állni.
A program a standard kimenetre írja ki a javasolt lépést (a pálca jelét).
A megoldásokat 2GHz-es gépen fogjuk tesztelni, a lépést 10 másodpercen belül ki kell írni. A működő programok között körmérkőzést rendezünk, a győztes (megfelelő dokumentáció esetén) 10 pontot kap, a második helyezett 8-at, a többi megoldás legfeljebb 7-et kaphat.
Példa:
Beküldendő a program forráskódja (s16.pas, s16.cpp, ...) és dokumentációja.
(10 pont)
Figyelem!
Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.