Minél nagyobb a kép, annal nagyobb helyet foglal el, ha minden egyes képpont színét külön-külön tároljuk. Érdemes ilyenkor különböző tömörítő algoritmusokat használni, hogy helytakarékosabb megoldásokhoz jussunk!
A képet listában fogjuk tárolni pl. a [pppp pppp pppp pppp] lista egy 4*4-es csupa piros pontokból álló képet jelent. A következő tömörítést fogjuk használni: megvizsgáljuk, hogy a kép azonos színekből áll-e, mert ha igen elég ezt a színt tárolni. Ilyenkor a kódban egy 0 értéket és a szín kódját helyezzük el. Ha nem azonos, akkor négy egyenlő részre bontjuk a képet és újra megvizsgáljuk az így kapott részeket, hogy azonos színű pontokból állnak-e vagy tovább kell azokat bontani. (Addig bontjuk tovább, amíg azonos színekből álló négyzetes képet nem kapunk.) A kép négy részét sorszámozzuk 1-től 4-ig (1 – bal felső, 2 – jobb felső, 3 – bal alsó, 4 – jobb alsó). Azt, hogy melyik képdarabról van szó, azzal írjuk le, hogy milyen sorszámú négyzetek darabolásával jutottunk el hozzá. Például a 32 azt jelenti, hogy az eredeti kép 3-as számú (jobb alsó) darabjának 2-es számú darabjáról (jobb felső) van szó!
Készítsd el az azonoskép :kép függvényt, paramétere a vizsgálandó kép és visszaadja, hogy minden pont azonos színű-e!
Készítsd el a daraboló :kép függvényt, ami négy egyenló részre bontja a :kép paraméterrel megadott képet és ezeket adja vissza eredményül egy listában!
Készítsd el a kódoló :kép eljárást, ahol a :kép a képet tartalmazza és kiírja a kép tömörített megfelelőjét!
Kép: [pppp pppp pppp pppp] | Kép: [ppss ppss zzkk zzkk] | Kép: [kpss ppss zzsz zzpk] |
Eredménye: Igaz | Eredménye: Hamis | Eredménye: Hamis |
daraboló - | Eredménye: Eredménye: | |
Azonoskép hívása a darabokra | Azonoskép hívása a darabokra majd újra darabolás, ahol kell | |
| ||
Eredménykód: 0p | Eredménykód: 10p 20s 30z 40k | Eredménykód: 110k 120p 130p 140p 20s 30z 410s 420z 430p 440k |
A verseny végeredménye:
I. korcsoport, megyei győztesek
Tóth Ádám Tiszaújvárosi Széchenyi István Általános Iskola, Tiszaújváros
Nagy Máté Miklós Czabán Samu Általános Iskola, Nagyszénás
Varga Petra II. János Pál Katolikus Általános Iskola, Kecel
Suszter Bálint Bókay Árpád Általános Iskola, Budapest
Oláh Benedek Számítástechnikai Általános Iskola, Budapest
Mindszenti Balázs Táltos Tehetséggondozó Általános Iskola, Szeged
Bedő Barnabás Szabadhegyi Magyar-Német Ált. Iskola és Gimnázium, Győr
Király Máté Hatvani Kodály Zoltán Általános Iskola, Hatvan
Pillmann Sára Petra Móricz Zsigmond Ref. Koll., Gimnázium és Ált. Isk., Kisújszállás
Kilián Máté Géza Kodály Zoltán Általános Iskola, Tatabánya
Gerencsér László Szentendrei Barcsay Jenő Általános Iskola, Szentendre
Borbényi Dóra Kaposvári Csokonai Általános Iskola és Gimnázium, Kaposvár
Oláh Adrienn Református Általános Iskola, Nyírbátor
Kiss Patrik Deák Ferenc Általános Iskola, Veszprém
Németh Nelli Lenti Arany János Általános Iskola, Lenti