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