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. 315. feladat (2013. február)

I. 315. Azt kaptuk feladatul, hogy készítsük el a KöMaL pontversenyén részt vevő iskolák rangsorát. A lista évenként készüljön, a sorrend az induló diákok száma szerint legyen csökkenő. A 2010/2011-es tanév listája például a

http://www.komal.hu/eredmeny/eredmeny.h.shtml?a=isklist&ev=2010 címen érhető el. Az url utolsó négy karakterének értelemszerű módosításával a többi év adatai is hozzáférhetők 2001-től.

A rangsor az alábbi táblázatos formában készüljön:

A feldolgozást kézzel is elvégezhetnénk, azonban az meglehetősen időt rabló megoldás, ezért egy tapasztaltabb informatikustól kértünk tanácsot. Ő ránézett néhány ilyen oldalra, majd azt mondta, PHP nyelven írt programmal oldaná meg a feladatot. Mivel PHP-ben nem, de más nyelven tudunk programozni, ezért megkértük, hogy vázolja a megoldást. A vezérlési szerkezetek és néhány utasítás ismerősnek tűnt, ezért csak néhány szót, kifejezést jegyeztünk le, amely ,,jól jöhet'': strip_tags, explode, asszociatív tömb. A program fejlesztéséhez a XAMPP multiplatform eszközt ajánlotta és megemlítette, hogy a PHP-ről minden megtalálható az online dokumentációban a www.php.net címen.

Tehát a feladat adott: írjunk programot PHP nyelven, amely például a 2009/2010-es tanév rangsorát az i315.php?ev=2009 címen megjeleníti a böngészőben.

Beküldendő a program forráskódja (i315.php) és rövid dokumentációja (i315.txt, i315.pdf, ...), amely tartalmazza a megoldás rövid leírását, és megadja a megoldás során használt PHP verziószámát.

(10 pont)

A beküldési határidő 2013. március 11-én LEJÁRT.


A feladat nem volt túlságosan nehéz, a kitűzéskor megadott segítség elegendő volt működő program készítéséhez, ennek ellenére kevés megoldás érkezett.

A megoldás során problémát jelentett, hogy a 2007 előtti éveket másképpen kellett - volna - kezelni a fővárosi iskolák miatt. Ezt sajnos csak egy beküldő vette észre, de ő sem kezelte.

Egy rendezési feladatnál mindig felmerül, mi határozza meg a sorrendet holtverseny esetén. A többség sem a programban, sem a dokumentációban nem utalt erre a problémára.

A php script HTML dokumentumot állít elő, így vizsgáltuk, hogy szerepel-e title tag - a feladathoz köthető tartalommal - és a http://validator.w3.org/ oldal segítségével megnéztük azt is, hogy az oldal helyes-e. A validálás során egy-egy error előfordult, de ezek olyan helyen jelentkeztek (doctype, meta tag), amit túl szigorú lett volna pontlevonással büntetni az egyik első php próbálkozás esetén.

A maximális pontszámmal értékelt Fényes Balázs kódját tesszük közé. (Ő a 2007 előtti adatok problémájára utalt a dokumentációban.) i315.php.zip


Statisztika:

5 dolgozat érkezett.
10 pontot kapott:Fényes Balázs.
8 pontot kapott:2 versenyző.
7 pontot kapott:1 versenyző.
5 pontot kapott:1 versenyző.

A KöMaL 2013. februári informatika feladatai