Járda
Egy 2*n hosszúságú járdát 1x2-es és 1x3-as járólapokkal fedünk le. A járólapok vastag barna a szegélyüek és sárga színűek. (A felhasználandó színek: barna – „brown”, sárga – „yellow”)
Készíts járda(h,alsó,felső) eljárást, amely h x 2*h, illetve h x 3*h méretű járólapokat rak le az alsó-nak és a felső-nek megfelelően. Mindkettő annyi számból áll, amilyen hosszúságú a járólap az adott sorban. Minden elemük három eset valamelyike: 1 azt jelenti, hogy abban az oszlopban függőlegesen áll egy 1x2-es elem; 2 és 3 jelentése pedig az, hogy vízszintesen áll egy 2 vagy 3 hosszúságú elem.
járda(20,[1,1], [1,1])
járda(20,[2,2], [2 2])
járda(20,[3,3], [3,3])
járda(20,[3,3], [2,2,2])
Hivatalos megoldás (HTML)
Egy 2*n hosszúságú járdát 1x2-es és 1x3-as járólapokkal fedünk le. A járólapok vastag barna a szegélyüek és sárga színűek. (A felhasználandó színek: barna – „brown”, sárga – „yellow”)
Készíts járda(h,alsó,felső) eljárást, amely h x 2*h, illetve h x 3*h méretű járólapokat rak le az alsó-nak és a felső-nek megfelelően. Mindkettő annyi számból áll, amilyen hosszúságú a járólap az adott sorban. Minden elemük három eset valamelyike: 1 azt jelenti, hogy abban az oszlopban függőlegesen áll egy 1x2-es elem; 2 és 3 jelentése pedig az, hogy vízszintesen áll egy 2 vagy 3 hosszúságú elem.
járda(20,[1,1], | járda(20,[2,2], | járda(20,[3,3], | járda(20,[3,3], | |||
Először az alsó sort rajzoljuk, majd a felsőt. A járda hossza az alsó (vagy a felső) sorban levő számok összege.
eljárás járda :h :felső :alsó
tollszín! „szürkésbarna tollvastagság! 3
kövezésalsó :h :alsó
tollatfel jobbra 90 hátra :h*szumma :alsó balra 90
előre :h tollatle
kövezésfelső :h :felső
vége
Az alsó sornál rajzoljuk a függőleges járólapokat is (járólapf).
eljárás kövezésalsó :h :le
ha 1=első :le [járólapf :h tollatfel jobbra 90 előre :h
balra 90 tollatle]
ha 2=első :le [járólapv :h 2 tollatfel jobbra 90 előre 2*:h
balra 90 tollatle]
ha 3=első :le [járólapv :h 3 tollatfel jobbra 90 előre 3*:h
balra 90 tollatle]
ha nem üres? elsőnélküli :le [kövezés :h elsőnélküli :le]
vége
A függőleges elemeket itt átlépjük.
eljárás kövezés2 :h :le
ha 1=első :le [tollatfel jobbra 90 előre :h balra 90
tollatle]
ha 2=első :le [járólap :h 2 tollatfel jobbra 90 előre 2*:h
balra 90 tollatle]
ha 3=első :le [járólap :h 3 tollatfel jobbra 90 előre 3*:h
balra 90 tollatle]
ha nem üres? elsőnélküli :le [kövezés2 :h elsőnélküli :le]
vége
eljárás járólapv :h :db
ismétlés 2 [előre :h jobbra 90 előre :db*:h jobbra 90]
töltőszín! „sárga
tollatfel jobbra 45 előre :h tölt hátra :h balra 45 tollatle
vége
eljárás járólapf :h
ismétlés 2 [előre 2*:h jobbra 90 előre :h jobbra 90]
töltőszín! „sárga
tollatfel jobbra 45 előre :h tölt hátra :h balra 45 tollatle
vége
eljárás szumma :l
ha üres? :l [eredmény 0]
eredmény (első :l)+szumma elsőnélküli :l]
vége
A. Jó az A ábra 4 pont
B. Jó a B ábra 4 pont
C. Jó a C ábra 4 pont
D. Jó a D ábra 6 pont
E. Jó az E ábra 6 pont
(Ha a járda egyik sora jó, akkor a fenti pontszámok fele adható.)
F. Van járólap; jó méretű téglalap; vastag barna szegély; sárga kitöltés 2+2+2+2 pont