Mozaik
Készítsd el az alábbi eljárásokat, amelyek egy alapelemet, egy mintát és több fajta mozaikot rajzolnak a képernyőre! Az alapelem paramétere a négyzet oldalhosszát jelenti. Az átló hossza az négyzet oldalhosszának gyök(2)-szerese. A mozaik eljárások második paramétere adja meg, hogy hány minta legyen egymás mellett. A 2-es mozaiknál minden második minta egy alapelemnyi távolsággal lejjebb legyen kirajzolva!
alapelem(30)
minta(30)
mozaik1(30,3)
mozaik2(30,3)
Hivatalos megoldás (HTML)
Készítsd el az alábbi eljárásokat, amelyek egy alapelemet, egy mintát és több fajta mozaikot rajzolnak a képernyőre! Az alapelem paramétere a négyzet oldalhosszát jelenti. Az átló hossza az négyzet oldalhosszának gyök(2)-szerese. A mozaik eljárások második paramétere adja meg, hogy hány minta legyen egymás mellett. A 2-es mozaiknál minden második minta egy alapelemnyi távolsággal lejjebb legyen kirajzolva!
alapelem(30) | minta(30) | mozaik1(30,3) | mozaik2(30,3) |
Itt az előző korcsoporthoz képest az alapelem jobb-alsó, valamint a jobb-felső sarkában is lehet a két háromszög csúcsa!
eljárás alapelem_ja :méret
előre :méret jobbra 90 előre :méret jobbra 90 alapelem :méret
előre :méret jobbra 90 előre :méret jobbra 90
vége
eljárás alapelem_jf :méret
tollatfel előre :méret jobbra 90 alapelem :méret
balra 90 hátra :méret
vége
eljárás minta :méret
ismétlés 2 [alapelem_ba :méret e :méret
alapelem_bf :méret e :méret]
alapelem_ba :méret e :méret
hátra 5*:méret jobbra 90 előre :méret balra 90
ismétlés 2 [alapelem_jf :méret e :méret
alapelem_ja :méret e :méret]
alapelem_jf :méret e :méret
hátra 5*:méret jobbra 90 előra :méret balra 90
vége
A mozaik2-ben eltolva is jelennek meg oszlopok.
eljárás mozaik2 :méret :oszlop
ism :oszlop [
ha egyenlő? maradék hányadik 2 0 [hátra :méret]
ha egyenlő? maradék hányadik 3 0 [előre :méret]
minta :méret]
vége
alapelem
A. Az alapelem eljárás a minta szerinti ábrát rajzolja ki; a paraméterben megadott méretben
2+2 pont
minta
B. A minta eljárás 2 oszlopban és 5 sorban rajzolja ki a paraméterben megadott méretű alapelemeket; az oszlopok pontosan illeszkednek, nincs üres hely közöttük 2+2 pont
C. A kirajzolt ábra pontosan megfelel a mintának 4 pont
(minden helytelen alapelem kirajzolás az adott pozíción 1 pont levonást jelent)
mozaik1
D. A mozaik1 eljárás kirajzolja egymás mellé a mintákat; olyan méretben és pontosan annyiszor, mint ami a paraméterek értéke 2+2 pont
E. A kirajzolt minták egy vonalban vannak; nincs üres hely köztük és nem lógnak egymásra
2+2 pont
mozaik2
F. A mozaik2 eljárás kirajzolja egymás mellé a mintákat; olyan méretben és pontosan annyiszor, mint ami a paraméterek értéke 2+2 pont
G. Minden második minta egy alapelem távolsággal lejjebb kezdődik 2 pont
H. A kirajzolt minták páronként egy vonalban vannak; nincs üres hely köztük és nem lógnak egymásra 2+2 pont