Torony
Készítsd el a következő színes ábrákat háromszög(hossz), ötszög(hossz), háromsor(m,hossz), ötsor(m,hossz), duplasor(m,hossz), torony(n,m,méret), ahol a méret a derékszögű háromszög befogói hossza (az átfogó ennek gyök(2)-szöröse), a m az alsó sorban levő háromszögek száma, a n pedig a sorok száma! Ha n nagyobb vagy egyenlő, mint m, akkor a jobboldali ábra szerint fejeződik be a torony. A háromszögek piros vagy zöld kitöltésűek, soronként felváltva alkalmazandók, az alsó sor közülük piros vagy zöld színű is lehet.
háromszög(50)
ötszög(50)
háromsor(5,30)
ötsor(5,30)
duplasor(5,30)
torony(4,7,30)
torony(7,4,30)
Hivatalos megoldás (HTML)
Készítsd el a következő színes ábrákat háromszög(hossz), ötszög(hossz), háromsor(m,hossz), ötsor(m,hossz), duplasor(m,hossz), torony(n,m,méret), ahol a méret a derékszögű háromszög befogói hossza (az átfogó ennek gyök(2)-szöröse), a m az alsó sorban levő háromszögek száma, a n pedig a sorok száma! Ha n nagyobb vagy egyenlő, mint m, akkor a jobboldali ábra szerint fejeződik be a torony. A háromszögek piros vagy zöld kitöltésűek, soronként felváltva alkalmazandók, az alsó sor közülük piros vagy zöld színű is lehet.
háromszög(50) | ötszög(50) | háromsor(5,30) | ||
ötsor(5,30) | duplasor(5,30) | |||
torony(4,7,30) | torony(7,4,30) | |||
A torony egy mozaik, amelyben a sorok hossza folyamatosan csökken.
eljárás mozaik :n :m :h
töltőszín! "vörös
torony :n :m :h
töltőszín! "fehér
vége
eljárás torony :n :m :h
dupla :m :h
ha (és :n>1 :m>1) [torony :n-1 :m-1 :h]
vége
eljárás dupla :m :h
háromsor :m :h
jobbra 45 előre :h balra 45
ötsor :m-1 :h
előre :h/2
vége
A két töltőszín közötti színváltást úgy oldjuk meg, hogy a sor rajzolása előtt megnézzük, mi volt a korábbi töltőszín, majd a másikra váltunk.
eljárás háromsor :m :h
hak töltőszín="vörös [töltőszín! "zöld][töltőszín! "vörös]
ismétlés :m [háromszög :h tollatfel jobbra 90 előre :h*gyök 2
balra 90 tollatle]
tollatfel jobbra 90 hátra :m*:h*gyök 2 balra 90 tollatle
vége
eljárás háromszög :h
jobbra 45 előre :h jobbra 90 előre :h jobbra 135
előre :h*gyök 2 jobbra 90
tollatfel jobbra 60 előre :h/2 tölt hátra :h/2 balra 60
tollatle
vége
eljárás ötsor :m :h
ismétlés :m [ötszög :h tollatfel jobbra 90 előre :h*gyök 2
balra 90 tollatle]
tollatfel jobbra 90 hátra :m*:h*gyök 2 balra 90 tollatle
vége
eljárás ötszög :h
előre :h/2 jobbra 90 előre :h*gyök 2 jobbra 90 előre :h/2
jobbra 45 előre :h jobbra 90 előre :h jobbra 45
vége
háromszög
A. Van derékszögű háromszög; színezve 1+1 pont
ötszög
B. Van ötszög; jó szögekkel; jó oldalhosszakkal 1+1+1 pont
háromsor
C. Van háromsor; jó darabszámú háromszöggel; jól illeszkednek 1+1+1 pont
D. a háromsor 3 60 jó; a háromsor 10 10 jó 1+1 pont
ötsor
E. Van ötsor; jó darabszámú ötszöggel; jól illeszkednek 1+1+1 pont
F. az ötsor 2 50 jó; az ötsor 9 12 jó 1+1 pont
duplasor
G. Van duplasor; a kétféle sor jól illesztett; az ötszöges eggyel rövidebb 1+1+1 pont
H. a duplasor 3 50 jó; a duplasor 6 15 jó 1+1 pont
torony
I. A toronyban felfelé csökken az elemszám; a sorok jól illesztettek; a háromszögek felváltva pirosak és zöldek; jól végződik :n>:m esetén; jól végződik :n<:m esetén; 1+1+2 +2+2 pont
J. a torony 3 6 30 jó; a torony 6 3 30 jó 1+1 pont