A KöMaL 2008. októberi 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ő 2008. november 17-én LEJÁRT. |
I. 193. Füles Ferkó barátunk családi házuk padlásán egy régi szalagos magnetofont és sok-sok szalagot talált. Hozzáfogott, hogy a szalagokon található hanganyagokat számítógépére átvegye. Volt azonban egy olyan szalag, amelynek a lejátszása során furcsa hangokat hallott. Ennek ellenére biztos volt benne, hogy a szalag tartalma valamilyen átalakítással érthetővé tehető. A szalag tartalmának visszanyeréséhez az Audacity ingyenesen letölthető programot használta föl. Ferkó azonban nem boldogult a dologgal, ezért szerkesztőségünk segítségét kérte. Mi továbbítjuk a kérést a versenyzőinknek: magas jutalomban (10 pont) részesül, aki képes I193.mp3 hangállomány tartalmát visszaállítani, a felvételt minél inkább tisztává és érthetővé tenni.
Beküldendő az átalakított hangfelvétel (i193.mp3), illetve egy rövid dokumentáció (i193.txt, i193.pdf, ...), amelyben szerepel a megoldás menete.
(10 pont)
I. 194. A vonalkódoknak többféle típusa létezik, de a kereskedelemben a legelterjedtebb az EAN-13 (EAN = European Article Number, Európai árucikkszámozás), amely egy 13 jegyű számot ábrázol. A szám információtartalma:
Az egyes részek változó számú karakterből épülhetnek fel. A számtípus országkódot vagy terméktípust jelent. Például:
|
Egy új termék gyártója a központi nyilvántartástól igényelheti az EAN-13 számot.
Az EAN-13 szám utolsó számjegye a véletlen elgépelés vagy a hibás leolvasás kiszűrését biztosító ellenőrző számjegy. Képzési szabálya: az első 12 számjegy közül a páratlan helyen állókat 1-gyel, a páros helyen állókat 3-mal szorozzuk meg, és a szorzatokat összegezzük, majd meghatározzuk az ellenőrző számjegyet, amely a 13. helyen fog állni. Ez az a szám, amit az összeghez hozzáadva az érték 10-zel oszthatóvá válik. Pl.:
5.1+9.3+0.1+7.3+4.1+6.3+0.1+8.3+0.1+3.3+5.1+9.3=140.
A 140 éppen osztható 10-zel, így nullát kell hozzáadni. Az ellenőrző számjegy ezért 0, tehát a példában szereplő EAN-13 szám helyes.
A vonalkód szerkezete:
- A számokat fekete-fehér területek (a leolvasó ezt képes érzékelni) kódolják.
- Az első, bal oldalon külön álló szám a kódolás módszerét határozza meg. Ennek vonalak nem felelnek meg, így más módszerrel van kódolva.
- A kód további része két számcsoportból áll. Elöl, hátul és a számcsoportok között két-két vékony elválasztó vonal van.
- A számokat 7 egységnyi szélességben 2-2 változó vastagságú vonal ábrázolja. Jelentse a fekete színt 1 és a fehéret 0. A vonalkódon belül háromféle kódolás fordul elő, jelöljük ezeket A-val, B-vel és C-vel. A vonalak számértéke az egyes kódolások szerint a következő:
|
- Az első számcsoport (a bal oldali, önálló szám utáni 6 számjegy) A-val vagy B-vel, a második számcsoport (az utolsó 6 számjegy) C-vel van kódolva.
- Az EAN-13 kód első számjegye határozza meg az első számcsoport hat számjegyének kódolását. Ennek táblázata:
A példaként bemutatott -- lengyel lekváros üvegen szereplő -- vonalkód felépítése:
Az első szám 5, ami a vonalrendszerben közvetlenül nem jelenik meg, de az első számcsoport kódolását a táblázat szürke sora alapján meghatározza.
|
A vonalrendszereket összefűzve állítjuk elő a teljes vonalkódot.
Táblázatkezelő program segítségével vizsgáljuk meg az A1 cellában megadott EAN-13 szám helyességét az ellenőrző számjegy alapján: a B1 cellába írjuk a ,,helyes'', vagy a ,,hibás'' szót a vizsgálat eredményeként. Állítsuk elő a megadott szám 15 részből álló vonalrendszerét 0-s és 1-es számjegyek segítségével az A2:A16 cellákba.
A megoldás során ne használjunk makrót vagy programmodult, kizárólag képleteket és beépített függvényeket. A felhasznált részletszámítások látszódjanak és semmilyen módon ne rejtsük el azokat. A kód meghatározásához szükséges segédtáblák lehetnek külön munkalapon.
Beküldendő a táblázatkezelő munkafüzet (i194.xls, i194.ods, ...), illetve egy rövid dokumentáció (i194.txt, i194.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)
I. 195. Az érintőképernyős mobil számítógépeken az útvonaltervező programok a települések nevének bevitelét azzal segítik elő, hogy a begépelt névrészleteknél csak a választható karaktereket jelenítik meg. Választható karakter az, amelyet ha a felhasználó kiválaszt, akkor létezik olyan település a tárolt listában, amely nevének első részlete megegyezik az eddig begépelt karakterekkel.
A betűk beütésével a program számolja, hogy hány név találat létezik az addig beütött szórészletre. Ezt az értéket a beviteli mező után jeleníti meg.
Készítsünk programot, amely a bemeneti adatállományban megadott településnevek alapján egy település nevének kiválasztását a fenti módszerrel támogatja a standard kimenetre írt információkkal. A program parancssori argumentuma legyen a településneveket tartalmazó adatállomány neve (a telepules.txt állomány felhasználható a megoldáshoz). A kimenet minden karakter bevitele után a válaszható karakterek listája és az egyező városok száma legyen. A bevitel során csak a választható karaktereket lehessen begépelni, illetve a program futását megállítani az ESC billentyűvel.
A kis- és nagybetűk legyenek egyenértékűek; az ékezetes betűket a megoldás során ne különböztessük meg. Így például: Ó, ö, Ő és o helyett egyaránt o jelenjen meg.
Minta:
Beküldendő a program forráskódja (i195.pas, i195.cpp, ...), valamint a program rövid dokumentációja (i195.txt, i195.pdf, ...), amely tartalmazza a megoldás lényeges lépéseinek leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.
(10 pont)
S-jelű feladatokA beküldési határidő 2008. november 17-én LEJÁRT. |
S. 38. A webböngészők a világhálón található oldalakat jelenítik meg számítógépeinken. Ehhez minden HTML oldal tartalmának értelmezésekor egy dokumentumfát készítenek. A dokumentumfa gyökere a <HTML> elem, minden további elem pedig az őt tartalmazó elem leszármazottja. Példaként tekintsük az alábbi HTML forrást, és a hozzá tartozó dokumentumfát:
Írjunk programot, amely egy HTML 4.01 Strict DTD verziójú (tehát érvénytelenített formázásoktól mentes és kereteket nem tartalmazó), hibátlan oldal dokumentumfáját elkészíti. Az érvényes HTML elemek a
http://www.w3.org/TR/html401/index/elements.html
oldalon találhatóak (csak a D és L jelzés nélküliek, összesen 80 elem). A program olvassa be a parancssor első argumentumaként megadott nevű forrásállományból az oldalt tartalmazó szöveget, majd írja ki a parancssor második argumentumaként megadott nevű kimeneti szöveges állományba a fenti formában a dokumentumfát.
Beküldendő a program forráskódja (s38.pas, s38.cpp, ...), valamint a program rövid dokumentációja (s38.txt, s38.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)
Figyelem!
Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.