Mozaik
Egy mozaik négyzetekből álló alapelemet tartalmaz (egyik(h), pár(h)), ahol h a nagy négyzetek oldalhossza.
egyik(30)
pár(30)
Az alapelemekből sorok rakhatók össze (sor(m, h)), ahol m a sorban levő párok száma +1, a h pedig az oldalak hossza.
sor(1,30)
sor(4,30)
A sorokból mozaik építhető (mozaik(n,m,h)), ami n darab m h paraméterű sorból áll, alul és felül az ábra szerint szegélyezve:
mozaik(3, 1,30)
mozaik 4 2 30
mozaik 3 4 30
Készíts eljárásokat a feladatban szereplő ábrák megrajzolására!
Hivatalos megoldás (HTML)
Egy mozaik négyzetekből álló alapelemet tartalmaz (egyik(h), pár(h)), ahol h a nagy négyzetek oldalhossza. |
|
|
Az alapelemekből sorok rakhatók össze (sor(m, h)), ahol m a sorban levő párok száma +1, a h pedig az oldalak hossza. |
|
|
A sorokból mozaik építhető (mozaik(n,m,h)), ami n darab m h paraméterű sorból áll, alul és felül az ábra szerint szegélyezve:
|
|
|
Készíts eljárásokat a feladatban szereplő ábrák megrajzolására!
Az alsó téglalap színe az oszlopok számától függ. A kiinduló négyzet bal felső sarkában kifelé van a zöld négyzet, a jobb felső sarokban pedig befelé a piros négyzet. A sorok párokból állnak, a mozaik felső sorát azonban le kell zárni.
eljárás mozaik :n :m :h
hátra :h*2/3 tégla :h*2/3 :h "lila
ha :m>1 [jobbra 90 előre :h
ismétlés :m-2 [előre :h balra 90
tégla :h*2/3 :h "sárga
jobbra 90 tollatfel előre :h
tollatle]
előre :h balra 90 tégla :h*2/3 :h "kék jobbra 90
tollatfel hátra 2*:h*(:m-1) tollatle balra 90]
előre :h*2/3
ismétlés :n [sor :m :h xpoz ypoz irány előre :h]
előre :h/3 jobbra 90
ismétlés :m*2-1 [előre :h jobbra 90 előre :h/3 hátra :h/3
balra 90]
jobbra 90 előre :h/3
vége
eljárás tégla :r :h :szín
ismétlés 2 [előre :r jobbra 90 előre :h jobbra 90]
tollatfel jobbra 45 előre :r töltőszín! :szín tölt hátra :r
balra 45 tollatle
vége
eljárás sor :m :h :x :y :i
ismétlés :m-1 [pár :h]
egyik :h
tollatfel xypoz! :x :y irány! :i tollatle
vége
eljárás pár :h
egyik :h balra 90 hátra :h jobbra 90 hátra :h*2/3
egyik :h balra 90 hátra :h jobbra 90 előre :h*2/3
vége
eljárás egyik :h
ismétlés 4 [ha hányadik=2 [bal :h/3 "zöld]
ha hányadik=3 [jobb :h/3 "vörös]
előre :h jobbra 90]
vége
eljárás bal :h :szín
ismétlés 4 [előre :h balra 90]
tollatfel töltőszín! :szín
balra 45 előre :h tölt hátra :h jobbra 45 tollatle
vége
eljárás jobb :h :szín
ismétlés 4 [előre :h jobbra 90]
tollatfel töltőszín! :szín
jobbra 45 előre :h tölt hátra :h balra 45 tollatle
vége
A. egyik 50–nek van fehér négyzete; van rajta zöld négyzet; jó helyen; jó méretben; van benne piros négyzet; jó helyen; jó méretben 1+1+2+1+1+2+1 pont
B. A pár 40-ben két egyik típusú ábra van; egymáshoz jól illesztve; jó helyen 2+2+2 pont
C. A sor 1 50 jó 3 pont
D. A sor 4 50-ben 4 pár van, amit egyetlen egyik zár le; egymáshoz jól illesztve
3+2+5 pont
E. A mozaik 3 1 30 három sor 1 30-at tartalmaz; a sorokat egymáshoz jól illesztve; alul egy téglalappal; lila; a négyzet kétharmada 3+3+1+1+1 pont
F. A mozaik 4 2 30 négy sor 2 30-at tartalmaz; a sorokat egymáshoz jól illesztve; baloldalt alul egy téglalappal; lila; a négyzet kétharmada; jobboldalt alul egy téglalappal; kék; a négyzet kétharmada; a középső oszlop fent lezárva; jó helyen 3+3+1+1+1+2+2+2+1+1 pont
G. A mozaik 3 4 30 három sor 4 30-at tartalmaz; a sorokat egymáshoz jól illesztve; baloldalt alul egy téglalappal; lila; mérete a négyzet kétharmada; jobboldalt alul egy téglalappal; kék; mérete a négyzet kétharmada; középen sárga téglalapok; jó helyen; jó méretben; az oszlopok fent jól lezárva
1+1+1+1+1+1+1+1+2+2+2+2 pont