Az I. 322. feladat (2013. május) |
I. 322. Kiránduláskor és más társas összejövetelkor kellemes időtöltés, illetve agytorna a szójáték. Általában a szójáték magyarázatához példákat szoktunk adni. Az alábbiakban szójátékokhoz egy adott szókészletből példákat, illetve megoldásokat gyűjtünk ki.
A feladatok megoldásához rendelkezésre áll a honlapunkról letölthető szoveg.txt fájl, amelybe Gárdonyi Géza: Egri csillagok című regényéből gyűjtöttünk ki szavakat. Az állományban csak olyan szavak szerepelnek, melyek az angol ábécé betűivel leírhatók. A könnyebb feldolgozhatóság érdekében minden szó csupa kisbetűvel szerepel, szavanként külön sorban. Tudjuk, hogy ebben az állományban a szavak 20 karakternél nem hosszabbak.
Készítsünk programot i322 néven, amely az alábbi problémákat oldja meg, a parancssor argumentumaként megadott szoveg.txt állományban talált szavak felhasználásával. A feladatot úgy oldjuk meg, hogy tetszőleges hosszúságú szövegállomány esetén működjön.
Minden - képernyőre írást igénylő - részfeladat megoldása előtt írjuk a képernyőre a feladat sorszámát. Ha a felhasználótól kérünk be adatot, jelenítsük meg a képernyőn, hogy milyen értéket várunk (például az 1. feladat esetén: ,,1. feladat Adjon meg egy szót: ''). Az ékezetmentes kiírás is elfogadott. A feladatok eredményének képernyőre írásánál - ha más előírás nincs - a szavakat egy-egy szóköz válassza el.
1. Kérjünk be a felhasználótól egy szót, és döntsük el, hogy csak egyféle magánhangzót tartalmaz-e. Amennyiben egyfélét tartalmaz, írjuk ki, hogy ,,Csupa azonos magánhangzó van benne'', ha nincs vagy többféle van benne, akkor írjuk ki, hogy ,,Az állítás hamis''. A begépelendő szóról feltételezhetjük, hogy csak az angol ábécé kisbetűit tartalmazza. Az angol ábécé magánhangzói: a, e, i, o, u.
2. Írjuk ki a képernyőre, hogy a szoveg.txt állományban hány mély, magas és vegyes hangrendű szó van. Mély hangrendű egy szó, ha benne csak a, o, u található; magas hangrendű, ha csak e, i; végül vegyes hangrendű, ha az előző két felsorolásból vegyesen vannak magánhangzók. A darabszámok után írjuk ki, hogy ezek hány százalékát teszik ki az összes szónak. A százalékot két tizedessel jelenítsük meg.
Például:
3. Kérjünk be a felhasználótól egy szórészletet (egybefüggő karaktersorozatot), amely maximum 20 karakterből állhat, és gyűjtsük ki azokat a szavakat, amelyek ezt tartalmazzák. Ezeket a szavakat írjuk ki a képernyőre.
4. Gyűjtsük ki és írjuk a képernyőre azokat a szavakat, amelyekben a betűk ábécé sorrendben vannak.
Például:
5. Válogassuk ki azokat a szavakat, amelyek első és utolsó betűjét elhagyva a szoveg.txt állományban szereplő új, értelmes szót kapunk.
6. Keressünk a szókészletben és írjunk ki 10 darab ál-ikerszót, amelyek eleje a szó második részében megismétlődik, azaz a szó első fele egyezik a második felével.
Például:
7. Hozzunk létre egy kettevag.txt állományt, amelybe gyűjtsünk ki a szókészletből 100 darab olyan szót, amelyet kettévágva két másik, a szoveg.txt állományban szereplő értelmes szót kapunk. A kiírásnál minden szó külön sorba kerüljön.
Például:
Beküldendő egy tömörített i322.zip állományban a program forráskódja (i322.pas, i322.cpp, ...), valamint a program rövid dokumentációja (i322.txt, i322.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ó.
Letölthető fájl: szoveg.txt
(10 pont)
A beküldési határidő 2013. június 10-én LEJÁRT.
Mintamegoldás:
Varga Erik 12. évfolyamos tanuló (Budapest, Berzsenyi Dániel Gimnázium) programját mutatjuk be: i322.cpp
Statisztika:
10 dolgozat érkezett. 10 pontot kapott: Csernák Tamás, Fehér Balázs, Fényes Balázs, Gema Barnabás, Kalló Kristóf, Németh 017 András, Tegzes Tamás, Varga 256 Erik. 9 pontot kapott: Jeges Viktor. 3 pontot kapott: 1 versenyző.
A KöMaL 2013. májusi informatika feladatai