← Vissza a feladatokhoz
2021 · Döntő / Harmadik forduló · 5–6. évfolyam3. feladat40 pont

Térbeli 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*vmitollszín! :színkitöltés (tölt)sorminta – egyszerű elmozdulásmozaiktollvastagság! [konkrét érték]ismétlés – paramétertől függőelágazás – hakülönben [][]665

Készítsd el az elem(méret,szín1,szín2,szín3), sor(db,méret,szín1, szín2,szín3) és mozaik(sordb,db,méret,szín1,szín2,szín3) eljárásokat az alábbi ábrák szerint! A kitöltésekhez a szürke különböző árnyalatait használtuk, hogy úgy látszódjon, mintha az egyes felületek árnyékba borulnának, másokat pedig több fény ér. Más színeket is használhatsz, de az ábrán a következők voltak: [10 10 10], [100 100 100], [200 200 200].

elem(50, (200,200,200), (10,10,10), (100,100,100))

sor(5,30, (200,200,200), (10,10,10), (100,100,100))

mozaik(10,5,30, (200,200,200), (10,10,10), (100,100,100))

Hivatalos megoldás (HTML)

Készítsd el az elem(méret,szín1,szín2,szín3), sor(db,méret,szín1, szín2,szín3) és mozaik(sordb,db,méret,szín1,szín2,szín3) eljárásokat az alábbi ábrák szerint! A kitöltésekhez a szürke különböző árnyalatait használtuk, hogy úgy látszódjon, mintha az egyes felületek árnyékba borulnának, másokat pedig több fény ér. Más színeket is használhatsz, de az ábrán a következők voltak: [10 10 10], [100 100 100], [200 200 200].

elem(50,
(200,200,200), (10,10,10), (100,100,100))

sor(5,30,
(200,200,200), (10,10,10), (100,100,100))

mozaik(10,5,30,
(200,200,200),
(10,10,10),
(100,100,100))

Ha az alapelem kész, utána már a sokásos sor és mozaik eljárás következhet, de a sorok egymáshoz képest kicsit elcsúsztatva.

eljárás mozaik :sdb :odb :méret :szín1 :szín2 :szín3
ha :sdb>0
[tollatfel
hakülönben mod :sdb 2 = 0
[hátra :méret hátra :méret/2]
[balra 120 hátra :méret hátra :méret/2 jobbra 120]
tollatle sor :odb :méret :szín1 :szín2 :szín3
mozaik :sdb-1 :odb :méret :szín1 :szín2 :szín3
]
vége

eljárás sor :db :méret :szín1 :szín2 :szín3
tollvastagság! 3
ismétlés :db [elem :méret :szín1 :szín2 :szín3 tollatfel
előre :méret*1.5 balra 120 hátra :méret*1.5
jobbra 120 tollatle]
tollatfel
ismétlés :db [balra 120 előre :méret*1.5 jobbra 120
hátra :méret*1.5]
tollatle
vége

Az alapelemet a három részábra tallálkozási pontjánál kezdjük rajzolni.

eljárás elem :méret :szín1 :szín2 :szín3
oldal :méret :szín1 balra 120
oldal :méret :szín2 balra 120
oldal :méret :szín3 balra 120
vége

eljárás oldal :méret :szín
alaphatod :méret 1 :szín balra 120
alaphatod :méret -1 :szín
tollatfel jobbra 60 előre :méret/4 töltőszín! :szín tölt
hátra :méret/4 balra 60 tollatle
vége

eljárás alaphatod :méret :irány :szín
tollszín! :szín
előre :méret balra 120*:irány előre :méret/2 balra 60*:irány
előre :méret/2 hátra :méret/2 jobbra 60*:irány hátra :méret/2
jobbra 120*:irány hátra :méret
vége

elem

A. elem alakja jó 5 pont

B. elem paraméterrel méretezhető 2 pont

C. elem oldalai különböző színűek; paraméterekkel adottak 2+2 pont

Sor

D. sor egy sorban rajzol ki elemeket; az ábra szerint 3+2 pont

E. elemek darabszáma; mérete; színei paraméterezhetőek 2+2+2 pont

Mozaik

F. párhuzamos sorokból áll; a sorok elemszáma is jó 5+2 pont

G. a mozaik kitölti a síkot az ábra szerint 5 pont

H. paraméteres a darabszámokkal, mérettel, színekkel 2+2+2 pont