← Vissza a feladatokhoz
2018 · Döntő / Harmadik forduló · 9–12. évfolyam4. feladat32 pont

Mozaik

eljárás aláírás (:param1 :param2)szabályos háromszög (120, 60)szabályos n-szög (360/n)előre :paramhátra :paramelőre :param*vmihátra :param/vmiszabályos hatszögkitöltés (tölt)mozaiktollvastagság! [konkrét érték]ismétlés – fix számúismétlés – paramétertől függőismétlés – egymásba ágyazott553

Készítsd el a következő színes ábrákat mozaik(n,m,méret), ahol a méret a fekete vonalak hossza, a m a sorban levő elemek száma, a n pedig a sorok száma! (A felhasználandó színek: barna – „brown”, világos zöld – „lightgreen”, piros – „red”, fekete – „black”, fehér – „white”.)

mozaik(1,1,30)

mozaik(2,2,30)

mozaik(3,5,20)

mozaik(4,6,20)

Hivatalos megoldás (HTML)

Készítsd el a következő színes ábrákat mozaik(n,m,méret), ahol a méret a fekete vonalak hossza, a m a sorban levő elemek száma, a n pedig a sorok száma! (A felhasználandó színek: barna – „brown”, világos zöld – „lightgreen”, piros – „red”, fekete – „black”, fehér – „white”.)

A képen pixel, szimbólum, tervezés látható

Automatikusan generált leírás

A képen pixel, minta, tervezés látható

Automatikusan generált leírás

mozaik(1,1,30)

mozaik(2,2,30)

A képen minta, Színesség, Szimmetria, művészet látható

Automatikusan generált leírás

A képen minta, Színesség, pixel, tervezés látható

Automatikusan generált leírás

mozaik(3,5,20)

mozaik(4,6,20)

Felváltva rajzolunk hosszabb (mozaik) és rövidebb (mozaik2) sorokat, azaz két, egymást hívó eljárást írunk.

eljárás mozaik :m :n :h
ha :m>0 [sor1 :n :h előre :h jobbra 60 előre :h jobbra 60
tollatfel előre 2*:h
ha :m>1 [sor2 :n-1 :h]
hátra 2*:h balra 120 előre :h jobbra 60 előre :h
balra 60 tollatle
mozaik2 :m-1 :n :h]
vége

eljárás mozaik2 :m :n :h
ha :m>0 [sor1 :n-1 :h tollatfel előre :h
jobbra 60 előre :h jobbra 60 előre 2*:h
ha :m>1 [sor2 :n-2 :h]
hátra 2*:h balra 60 hátra :h balra 60
ismétlés 2 [balra 60 előre :h]
ismétlés 3 [jobbra 60 előre :h] balra 60 tollatle
mozaik :m-1 :n :h]
vége

A sor1 a zöld elemeket, a sor2 a piros pontokat rajzolja.

eljárás sor1 :n :h
ismétlés :n [alap :h tollatfel
ismétlés 4 [előre :h jobbra 60] balra 120
ismétlés 2 [előre :h balra 60] tollatle]
tollatfel
ismétlés :n [ismétlés 2 [jobbra 60 hátra :h] jobbra 120
ismétlés 4 [balra 60 hátra :h]]
tollatle
vége

eljárás sor2 :n :h
tollszín! „piros tollvastagság! 15
ismétlés :n [tollatle pont tollatfel balra 60 előre 2*:h
jobbra 60 előre 2*:h]
ismétlés :n [hátra 2*:h balra 60 hátra 2*:h jobbra 60]
tollszín! „fekete tollvastagság! 2
vége

eljárás alap :h
tollvastagság! 2
ismétlés 3 [ismétlés 4 [előre :h jobbra 60] balra 120]
jobbra 60 töltőszín! „zöldesbarna tollatfel előre :h tölt
hátra :h jobbra 60 előre :h/4 balra 120 tollatle
tollvastagság! 4 tollszín! „fehér
ismétlés 3 [ismétlés 4 [előre :h*3/4 jobbra 60] balra 120]
jobbra 120 tollatfel előre :h*3/4 tollatle
tollszín! „szürkésbarna tollvastagság! 4
ismétlés 3 [előre :h hátra :h jobbra 120]
tollvastagság! 15 pont tollszín! „fekete tollvastagság! 2
tollatfel hátra :h balra 120 tollatle
vége

A. Van mozaik 1 1 20; fekete határvonallal; fehér belső vonallal; barna pöttyel; három belőle kiinduló barna vonallal; zöld kitöltéssel 1+1+1+1+1+1 pont

B. Az alapelem három jól illeszkedő hatszög; van belső hatszög; jó helyen; barna pötty jó helyen; jó méretben; mindhárom barna vonal jó 2+2+1+1+1+1 pont

C. A mozaik 1 2 25 jó; a mozaik 1 3 20 jó 2+2 pont

D. A mozaik 2 1 25 jó; a mozaik 3 1 20 jó 2+2 pont

E. A mozaik 2 2 25 jó szerkezetű; piros pötty jó helyen 3+2 pont

F. A mozaik 4 6 20 jó 5 pont