Az S. 50. feladat (2010. január) |
S. 50. Egy népszerű kosárlabdacsapat összes szurkolójával, mintegy ötezer fővel egy egyoldalas elégedettségi kérdőívet töltettek ki. A kérdőív urlapminta.pdf néven honlapunkról letölthető.
A klub informatikusa kapta meg a kérdőív feldolgozásának feladatát. Mivel nem akarta kézzel bevinni a fejenként adott 12 választ, ezért a következőképpen gondolkodott.
1. A lapokat digitalizálja egy automata lapbehúzós szkenner segítségével.
2. Az előállított képeket egy programmal feldolgozza.
Tisztában volt vele, hogy a programnak nem lesz egyszerű dolga, mivel a következő problémákkal kell megküzdenie:
1. A lapbehúzó nem dolgozhat tökéletesen, ezért -- bár a nyomtatott lapok mind egyformák voltak -- a különböző képeken a nyomtatott elemek nem pontosan ugyanoda esnek majd. Természetesen az elmozdulás meglehetősen kicsi lesz.
2. A kitöltők különböző színű tollat használtak és különbözőképpen jelölték a választ, pl. áthúzás, karikázás, besatírozás stb.
3. Előfordulhat, hogy néhány kitöltő egy-egy választ kihagyott, esetleg duplán jelölt.
Sajnos az informatikusnak el kellett utaznia, ezért a KöMaL versenyzőinek segítségét kéri a probléma megoldásában. Tesztelési célokra itt hagyott 10 darab RAW formátumú fájlt (a képméret X×Y).
Készítsünk programot, amely a standard bemenetről beolvassa a képfájl nevét (a fájl a program mappájában található), majd egymástól pontosvesszővel elválasztva kiírja a standard kimenetre a lapon található válaszokat, azaz kérdésenként az 1, 2, 3, 4 számok egyikét. Ha a program úgy találja, hogy a kitöltő az adott kérdésnél egyetlen választ sem jelölt meg, akkor az N karaktert, ha többet is megjelöltnek vél, akkor a D karaktert írja a szám helyére.
Az értékelés során 2 pontot ér a mintaként adott fájlokra adott helyes válasz, további 3 pontot ér a mintafájlok ismételten beolvasott változatára adott, legalább 90 százalékban helyes válasz. Újabb 3 pont szerezhető tíz, közzé nem tett lap képére adott, legalább 80 százalékban helyes válasszal. A fennmaradó 2 pont a megfelelő dokumentációra jár.
Beküldendő egy tömörített s50.zip állományban a program forráskódja (s50.pas, s50.cpp, ...), valamint a program rövid dokumentációja (s50.txt, s50.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ó.
A feladathoz tartozó forrásfájlok: raw0105.zip raw0610.zip
A fájlok RAW formátumúak, benne minden kép 1169 képpont széles és 1653 képpont magas.
Az papír alapú űrlap a következő PDF dokumentum nyomtatásával készült: urlapminta.pdf
(10 pont)
A beküldési határidő 2010. február 10-én LEJÁRT.
A feladat szokatlan volt és nehéznek is bizonyult.
A megoldók alapjában véve helyesen fogtak hozzá, hiszen mindenki abból indult ki, hogy a jelölt válaszok több sötét pontot tartalmaznak. Amit korrigálni kellett, az a nyomtatok eltérő sötétsége, illetve a beolvasás pontatlansága. Ehhez a rendelkezésre álló minta kevés volt, ki lehetett volna egészíteni saját készítésűekkel is, amelynek alapján további korrekciókat lehetett volna végrehajtani.
Mivel az eredeti értékelési szabályok alkalmazásával nagyon kevés pontot szereztek volna a beküldők, ezért az alábbi módosításokkal történt a pontozás.
Az eredeti fájlok esetén ha a válaszok legalább 90 százaléka helyes: 2 pont, ha legalább 70 százalék, akkor 1 pont.
Az eredeti lapok újbóli beolvasásánál ha legalább 80 százalék helyes, akkor 3 pont, 60 százalék esetén 2 pont, 40 százalék esetén 1 pont.
Új lapok előállításánál ha legalább 30 százalék jó, akkor 3 pont, 20 százalék esetén 2 pont, 10 százalék felett 1 pont.
A dokumentáció 2 pontot ér, amelyben - a feladat jellegéből adódóan - a megoldás során felmerült problémákat és azok kezelési módjának leírását szerettük volna látni.
Az eredeti lapok újbóli beolvasása: eredeti.zip
Az új lapokról készült tesztfájlok: uj.zip
Statisztika:
6 dolgozat érkezett. 8 pontot kapott: 1 versenyző. 7 pontot kapott: 2 versenyző. 6 pontot kapott: 1 versenyző. 5 pontot kapott: 1 versenyző. 2 pontot kapott: 1 versenyző.
A KöMaL 2010. januári informatika feladatai