Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

Az I. 249. feladat (2010. október)

I. 249. A reguláris kifejezés egy minta, amelyre akár több szöveg is ráillik, ezáltal jól használható olyan programokban, ahol bizonyos szövegek (e-mail cím, URL) szerkezetét kell ellenőrizni.

A reguláris kifejezésekről itt is tájékozódhatunk.

Az alábbi megbetűzött feladatokhoz keressük a megfelelő reguláris kifejezést. Ha több helyes válasz is lehetséges, a legkisebb karakterszámú kifejezés megadására kell törekedni.

A feladatok megoldása során az alábbi fájlokat használjuk, amelyeknek minden sora helyes:

-- kartya.txt: a fájl egyes sorai a francia kártya egy-egy lapját tartalmazzák szín, szóköz, érték formában (ékezet nélküli karaktereket használunk).\ Például: kor asz, karo kiraly, pikk 10, treff also.

-- email.txt: a fájl egyes sorai egy-egy e-mail címet tartalmaznak.\ Például: igazgato@iskola.hu.

-- telefon.txt: a fájl egyes sorai egy-egy telefonszámot tartalmaznak.\ Például: (30)555-55-55, illetve (46)555-555 formában.

-- rendszam.txt: a fájl egyes sorai rendszámokat tartalmaznak.\ Például: KUTYA-1, PAPA-05, ABC-123 (a betűk mind ékezet nélküliek).

Jelenítsük meg a megfelelő fájl azon sorait, amelyek eleget tesznek a következő feltételeknek:

a) a rendszámban szerepel az ,,A'' és a ,,3'' is;

b) három betű karakter, kötőjel, három számjegy karakter formájú rendszámokat tartalmaznak;

c) piros színű (kőr vagy káró) lapot tartalmaznak;

d) számozott lapokat tartalmaznak;

e) mobil telefonszámokat tartalmaznak (20, 30, 70 a körzetszám);

f) nem mobil telefonszámokat tartalmaznak;

g) a ,,@'' (kukac) és ,,.'' (pont) karakteren kívül csak az angol ábécé kisbetűit tartalmazzák és ,,.hu''-ra végződnek;

h) a vezetéknév.keresztnév@... szerkezetű e-mail címek közül azokat, ahol a vezetéknév kovacs.

A feladatok nem nehezedő sorrendben szerepelnek. A beküldött megoldásokat az egrep programmal ellenőrizzük, mely Windows és Linux operációs rendszerek alá egyaránt szabadon letölthető.

Egyszerű példa az egrep program használatára: Keressük meg a kodok.txt állomány azon sorait, amelyek legalább egy számjegyet tartalmaznak:

egrep "[0-9]" kodok.txt

Beküldendő az i247.txt dokumentum, amely betűjelzéssel azonosítva tartalmazza a fenti feladatok megoldását és a használt operációs rendszert nevét, illetve a kipróbáláshoz használt egrep program verziószámát.

(10 pont)

A beküldési határidő 2010. november 10-én LEJÁRT.


A megoldók kihasználhatták, hogy az adott állományok a megadott szerkezetű adatokat tartalmazzák, így erre építve sokszor nagyon tömör megoldásokat adtak.

Minden feladat esetén 1 pontot ért a helyes megoldás. A feladat szövege szerint a minél tömörebb megoldásra kellett törekedni. Ezt a szempontot a következőképpen vettük figyelembe az értékelésnél. A jó megoldásoknál az kifejezés karakterhosszát, a hibásaknál az adott részfeladatnál előforduló legnagyobb karakterhosszt vettük alapul és ezeket az értékeket összeadtuk. A legrövidebb megoldást adó és a nála összességében 20 karakternél nem hosszabb megoldások 2, a hosszabb, de 50 karakteren belüli megoldások 1 pontot értek.

Mintamegoldás:


Statisztika:

8 dolgozat érkezett.
10 pontot kapott:Szabó 928 Attila.
9 pontot kapott:Kalló Kristóf.
8 pontot kapott:2 versenyző.
7 pontot kapott:1 versenyző.
6 pontot kapott:1 versenyző.
5 pontot kapott:1 versenyző.
0 pontot kapott:1 versenyző.

A KöMaL 2010. októberi informatika feladatai