Feladat: I.322 Korcsoport: - Nehézségi fok: -
Füzet: 2013/május, 294 - 295. oldal  PDF  |  MathML 

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

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:
 
Mély hangrendű: 4 szó 22,22%Magas hangrendű: 6 szó 33,33%Vegyes hangrendű: 7 szó 38,88%
 

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:
 
korty
 

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:
 
testes eledeled
 

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:
 
ballagottbizalma

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