Fák
Készítsd el az alábbi fákat rajzoló eljárásokat (virágosfa(év,a,b), zöldfa(év,a)), ahol év a fa kora, a a törzs hossza, b pedig az ágak végén levő virágok mérete! A virágosfa ágai sötétzöldek; virágai pirosak. A zöldfa ágai színe változzon, a törzse [50 100 0] RGB kódú legyen, az ágak vége felé haladva a piros összetevő 10-zel, a zöld összetevő 15-tel nőjön! A zöldfa törzsében is van elágazás.
1 2 3 4 virágosfa(év,80,10)
1 2 3 4 zöldfa(év,80)
virágosfa(9,80,10)
zöldfa(9,80)
Hivatalos megoldás (HTML)
Készítsd el az alábbi fákat rajzoló eljárásokat (virágosfa(év,a,b), zöldfa(év,a)), ahol év a fa kora, a a törzs hossza, b pedig az ágak végén levő virágok mérete! A virágosfa ágai sötétzöldek; virágai pirosak. A zöldfa ágai színe változzon, a törzse [50 100 0] RGB kódú legyen, az ágak vége felé haladva a piros összetevő 10-zel, a zöld összetevő 15-tel nőjön! A zöldfa törzsében is van elágazás.
| |
1 2 3 4 | |
1 2 3 4 | |
virágosfa(9,80,10) | zöldfa(9,80) |
A virágos fában az ágak végéről két 1 évvel fiatalabb ág nő ki, az ágak közepéről jobbra pedig egy 2 évvel fiatalabb.
eljárás fa :n :h :sz
tollvastagság! :n tollszín! :sz előre :h/2
ha :n>2 [jobbra 45 fa :n-2 :h*9/16 vált vált :sz balra 45]
tollvastagság! :n tollszín! :sz előre :h/2
hak :n>1 [balra 30 fa :n-1 :h*3/4 vált :sz jobbra 45
fa :n-1 :h*9/16 vált :sz balra 15]
[tollvastagság! max :h/4 1 színespont tollszín]
tollatfel hátra :h tollatle
vége
eljárás vált :sz
eredmény (lista 10+első :sz második :sz utolsó :sz)
vége
eljárás második :l
eredmény első elsőnélküli :l
vége
eljárás max :a :b
hak :a<:b [eredmény :b] [eredmény :a]
vége
eljárás színespont :s
tollszín! "piros pont tollszín! :s
vége
A zöldfa törzsében van az elágazás, így a törzs két végéből már csak 1-1 új ág nő ki.
eljárás fa :n :h :sz
tollvastagság! :n tollszín! :sz előre :h/3
balra 30 előre :h/3 jobbra 30 előre :h/3
ha :n>1 [balra 45 fa :n-1 :h*3/4 vált :sz jobbra 60
fa :n-1 :h*3/4 vált :sz balra 15]
tollatfel hátra :h/3 balra 30 hátra :h/3 jobbra 30 tollatle
tollvastagság! :n tollszín! :sz
jobbra 30 előre :h/3 balra 30 előre :h/3
ha :n>1 [balra 15 fa :n-1 :h*3/4 vált :sz jobbra 60
fa :n-1 :h*3/4 vált :sz balra 45]
tollatfel hátra :h/3 jobbra 30 hátra :h/3 balra 30 hátra :h/3
tollatle
vége
eljárás vált :sz
eredmény (lista 10+első :sz 15+második :sz utolsó :sz)
vége
A. Van virágosfa; paraméterezhető évvel; sötétzöld színű ágak; piros virágok 2+2+2+2 pont
B. virágosfa 1 80 10 jó 4 pont
C. virágosfa 2 70 10 jó 4 pont
D. virágosfa 4 60 10 jó 5 pont
E. virágosfa 9 60 10 jó 5 pont
F. Van zöldfa; paraméterezhető évvel; zöld színű ágak; az színük jól változik 2+2+2+4 pont
G. zöldfa 1 80 jó 4 pont
H. zöldfa 2 70 jó 5 pont
I. zöldfa 4 60 jó 5 pont
J. zöldfa 9 60 jó 5 pont