← Vissza a feladatokhoz
2019 · Döntő / Harmadik forduló · 7–8. évfolyam1. feladat30 pont

Mozaik

eljárás aláírás (:param1 :param2)derékszög (90, -90, 270)előre :paramhátra :paramnégyzetszabályos háromszögmozaiknégyzet oldal/átló (1 / gyök2, gyök2)ismétlés – fix számúismétlés – paramétertől függőismétlés – egymásba ágyazott882

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!

A képen Szimmetria, sor, Téglalap, minta látható

Automatikusan generált leírás

A képen minta, Szimmetria, origami, sor látható

Automatikusan generált leírás

A képen minta, Szimmetria, origami, sor látható

Automatikusan generált leírás

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