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. 279. feladat (2011. november)

I. 279. A www.facebook.com weboldalhoz több IP cím is tartozik, melyek időről-időre változnak. Erről könnyen meggyőződhetünk: adjuk ki parancssorban az nslookup www.facebook.com utasítást néhányszor egymás után. Látni fogjuk, hogy akár egy percen belül is két különböző eredményt kapunk.

Vizsgáljuk meg a weboldal IP címeinek változását, és készítsünk róluk egyszerű statisztikát. A munkánkat Linux operációs rendszer alatt végezzük, egy olyan gépen, amely lehetőleg folyamatosan internet kapcsolattal rendelkezik. Amennyiben a gépre nem kívánunk külön partícióban Linuxot telepíteni, akkor használjunk CD-ről bootoló Live rendszert (lehetőségek: www.livecdlist.com), vagy Windowsra is telepíthető, és a megoldás után egyszerűen eltávolítható változatot (pl. wubit és Ubuntu Linuxot).

Az adatok gyűjtéséhez készítsünk shell scriptet facebook.sh néven, és oldjuk meg, hogy az operációs rendszer rendszeresen, egy perces időközönként lefuttassa. A script feladata legyen, hogy Unix parancsok fölhasználásával lekérdezi a www.facebook.com cím aktuális IP címét, illetve az aktuális dátumot és időt, majd a kapott eredményt soronként egy facebook.out kimeneti állományba írja. A szöveges állomány egy sora legyen az aktuális dátum, az aktuális óra és perc, valamint az IP cím egymástól tabulátor karakterekkel elválasztva: 2011.10.16 \to 10:23 \to 213.46.246.53.

Az adatokat tartalmazó állomány alapján készítsünk facebook.stat néven szöveges állományt, amely soronként egy-egy IP címet tartalmaz, majd a cím előfordulásának számát és végül az egyes előfordulások között eltelt időtartamok átlagát percre kerekítve. Ha egy IP cím csak egyszer szerepelt az adatok között, akkor az utolsó érték zérus legyen. Az állományt rendezzük az IP címek szerint növekvő sorrendbe, az egyes értékek itt is tabulátorokkal legyenek elválasztva. A statisztikát tartalmazó állományt egy fstat.sh script hozza létre.

A megoldáshoz csak a Linux operációs rendszer segédprogramjai és a script parancsok használhatók. Amennyiben szükséges, a parancsok további állományokat is létrehozhatnak. Legalább négyórányi adatot gyűjtsük és értékeljünk ki.

Beküldendő egy gzip tömörítővel csomagolt i279.gz állomány, amely tömörítve tartalmazza a kért scripteket és szöveges állományokat, valamint egy idozites.txt állományt, amelybe leírjuk, miként sikerült megvalósítani a percenkénti futtatást.

(10 pont)

A beküldési határidő 2011. december 12-én LEJÁRT.


A mintamegoldáshoz több versenyző munkájából választottunk.

Antal János Benjámin 12. osztályos nyíregyházi versenyző részletes ismertette az időzítés lehetőségeit (idozites.txt).

Az adatok gyűjtését végző script Kovács Balázs Marcell 9. osztályos budapesti tanuló munkája (facebook.sh).

Az adatok kiértékelését legpontosabban Gema Barnabás 11. osztályos veszprémi versenyzőnk végezte el (fstat.sh).


Statisztika:

7 dolgozat érkezett.
10 pontot kapott:Kovács Balázs Marcell, Kucsma Levente István.
9 pontot kapott:Antal János Benjamin, Gema Barnabás.
8 pontot kapott:1 versenyző.
5 pontot kapott:2 versenyző.

A KöMaL 2011. novemberi informatika feladatai