← Vissza a feladatokhoz
2019 · Döntő / Harmadik forduló · 5–6. évfolyam1. feladat35 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ögmozaikismétlés – fix számúismétlés – paramétertől függőismétlés – egymásba ágyazott10102

Készítsd el a minta és a mozaik eljárásokat a következő alapelem felhasználásával, amelynek a kódját segítségképpen megadjuk (a paraméter a négyzet oldalhosszát jelenti):

import math

def alapelem(méret):

turtle.pendown()

for i in range(4):

turtle.forward(méret)

turtle.right(90)

turtle.right(45)

turtle.forward(méret*math.sqrt(2))

turtle.backward(méret/2*math.sqrt(2))

turtle.left(90)

turtle.forward(méret/2*math.sqrt(2))

turtle.right(45)

turtle.backward(méret)

turtle.penup()

turtle.left(90)

alapelem(30)

alapelem 30

Készítsd el a minta és a mozaik eljárásokat! A minta eljárás a megadott méretű alapelemből rajzolja ki a képen látható mintát. A mozaik eljárás ezen mintákat helyezi egymás mellé, annyiszor, amennyi a második paraméter értéke.

minta(30)

mozaik(30,3)

Hivatalos megoldás (HTML)

Készítsd el a minta és a mozaik eljárásokat a következő alapelem felhasználásával, amelynek a kódját segítségképpen megadjuk (a paraméter a négyzet oldalhosszát jelenti):

import math

def alapelem(méret):

turtle.pendown()

for i in range(4):

turtle.forward(méret)

turtle.right(90)

turtle.right(45)

turtle.forward(méret*math.sqrt(2))

turtle.backward(méret/2*math.sqrt(2))

turtle.left(90)

turtle.forward(méret/2*math.sqrt(2))

turtle.right(45)

turtle.backward(méret)

turtle.penup()

turtle.left(90)

alapelem(30)

alapelem 30

Készítsd el a minta és a mozaik eljárásokat! A minta eljárás a megadott méretű alapelemből rajzolja ki a képen látható mintát. A mozaik eljárás ezen mintákat helyezi egymás mellé, annyiszor, amennyi a második paraméter értéke.

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

Automatikusan generált leírás

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

Automatikusan generált leírás

minta(30)

mozaik(30,3)

Legyen kétféle alapelemünk, az egyiknél a bal-alsó, a másiknál a bal-felső sarokban legyen a két háromszög csúcsa!

eljárás mozaik :méret :oszlop
ismétlés :oszlop [minta :méret]
vége

eljárás minta :méret
ismétlés 2 [ismétlés 3 [alapelem_ba :méret e :méret
alapelem_bf :méret e :méret ]
hátra 6*:méret jobbra 90 előre :méret balra 90]
vége

eljárás alapelem_ba :méret
tollatfel balra 90 hátra :méret alapelem :méret
előre :méret jobbra 90
vége

eljárás alapelem_bf :méret
alapelem :méret
vége

eljárás alapelem :méret
tollatle
ismétlés 4 [előre :méret jobbra 90]
jobbra 45 előre :méret*gyök(2) hátra :méret/2*gyök(2)
balra 90 előre :méret/2*gyök(2) jobbra 45 hátra :méret
tollatfel
vége

alapelem

A. Az alapelem eljárásba a megfelelő kódot írta be, az alapelem a minta szerinti ábrát rajzolja ki a paraméterben megadott méretben 3 pont

minta

B. A minta eljárás 2 oszlopban és 6 sorban rajzolja ki az alapelemeket; az oszlopok pontosan illeszkednek, nincs üres hely közöttük 3+2 pont

C. A paraméter megadásával az alapelem mérete megváltoztatható 2 pont

D. A kirajzolt ábra pontosan megfelel a mintának 12 pont
(minden helytelen alapelem kirajzolás az adott pozíción 1 pont levonást jelent)

mozaik

E. A mozaik eljárás kirajzolja egymás mellé a mintákat; pontosan annyiszor, amennyi a második paraméter 3+4 pont

F. A mozaik eljárás első paramétere az alapelem méretét jelenti 2 pont

G. A kirajzolt minták egy vonalban vannak; nincs üres hely köztük és nem lógnak egymásra
2+2 pont