Tábla
Téglalap alakú táblát úgy lehet változatossá tenni, hogy kivágunk belőle darabokat. Sikerült hatféle változatot készíteni és az elkészült rajzokat képként is kimenteni, de sajnos összekeveredtek. Lehetséges, hogy egyes képekhez nincs program, másokat esetleg több program is rajzolhat.
Használunk két eljárást:
def bal(h): turtle.forward(h) turtle.left(90) turtle.forward(h) turtle.right(90)
def jobb(h): turtle.forward(h) turtle.right(90) turtle.forward(h) turtle.left(90)
Segíts párosítani a rajzokat a programokkal! Melyik programhoz melyik ábra tartozik? Melyik ábra nem tartozik egyik programhoz sem?
for i in range(2): bal(10) turtle.forward(50) turtle.right(90) bal(10) turtle.forward(30) turtle.right(90)
for i in range(2): turtle.forward(20) jobb(10) bal(10) turtle.forward(30) turtle.right(90) turtle.forward(10) jobb(10) bal(10) turtle.forward(20) turtle.right(90)
for i in range(2): bal(10) turtle.forward(10) jobb(10) bal(10) turtle.forward(20) turtle.right(90) turtle.forward(10) turtle.left(90) turtle.forward(10) turtle.right(90) turtle.forward(30) turtle.right(90)
for i in range(2): turtle.left(90) turtle.forward(10) turtle.right(90) turtle.forward(10) turtle.right(90) turtle.forward(10) for j in range(3): turtle.left(90) bal(10) turtle.forward(10) turtle.right(90) turtle.forward(10) turtle.forward(50) turtle.right(90)
for i in range(2): turtle.left(90) for j in range(3): turtle.forward(10) turtle.right(90) jobb(10) turtle.forward(10) turtle.left(90) turtle.forward(10) turtle.right(90) turtle.forward(10) turtle.right(90) turtle.forward(60) turtle.right(90)
for i in range(2): for j in range(3): bal(10) jobb(10) turtle.forward(10) turtle.right(90) jobb(10) bal(10) turtle.forward(10) turtle.right(90)
A
B
C
D
E
F
Hivatalos megoldás (HTML)
Téglalap alakú táblát úgy lehet változatossá tenni, hogy kivágunk belőle darabokat. Sikerült hatféle változatot készíteni és az elkészült rajzokat képként is kimenteni, de sajnos összekeveredtek. Lehetséges, hogy egyes képekhez nincs program, másokat esetleg több program is rajzolhat.
Használunk két eljárást:
def bal(h):
turtle.forward(h)
turtle.left(90)
turtle.forward(h)
turtle.right(90)
def jobb(h):
turtle.forward(h)
turtle.right(90)
turtle.forward(h)
turtle.left(90)
Segíts párosítani a rajzokat a programokkal! Melyik programhoz melyik ábra tartozik? Melyik ábra nem tartozik egyik programhoz sem?
- for i in range(2):
bal(10)
turtle.forward(50)
turtle.right(90)
bal(10)
turtle.forward(30)
turtle.right(90) - for i in range(2):
turtle.forward(20)
jobb(10)
bal(10)
turtle.forward(30)
turtle.right(90)
turtle.forward(10)
jobb(10)
bal(10)
turtle.forward(20)
turtle.right(90) - for i in range(2):
bal(10)
turtle.forward(10)
jobb(10)
bal(10)
turtle.forward(20)
turtle.right(90)
turtle.forward(10)
turtle.left(90)
turtle.forward(10)
turtle.right(90)
turtle.forward(30)
turtle.right(90) - for i in range(2):
turtle.left(90)
turtle.forward(10)
turtle.right(90)
turtle.forward(10)
turtle.right(90)
turtle.forward(10)
for j in range(3):
turtle.left(90)
bal(10)
turtle.forward(10)
turtle.right(90)
turtle.forward(10)
turtle.forward(50)
turtle.right(90) - for i in range(2):
turtle.left(90)
for j in range(3):
turtle.forward(10)
turtle.right(90)
jobb(10)
turtle.forward(10)
turtle.left(90)
turtle.forward(10)
turtle.right(90)
turtle.forward(10)
turtle.right(90)
turtle.forward(60)
turtle.right(90) - for i in range(2):
for j in range(3):
bal(10)
jobb(10)
turtle.forward(10)
turtle.right(90)
jobb(10)
bal(10)
turtle.forward(10)
turtle.right(90)
A | B | C | D | E | F |
összevarrásával készítették. Ezt a díszítési módot foltvarrásnak hívják. Készítsd el a foltvarrás1(méret) és a foltvarrás2(méret) eljárásokat, amelyek kirajzolják az ábrának megfelelő mintákat! A méret paraméter az ábrákon a nagy négyzetek oldalhossza. A foltvarrás1 esetében piros legyen a középen lévő négyzet, a sarkokban lévők pedig kékek! A foltvarrás2 esetében használj kéket! (Segítség a színek: kék – ”blue”, piros – ”red”, fekete – ”black”. A gyök 2 értéke a math.sqrt(2) függvénnyel számítható ki. Ne felejtsd el importálni a math könyvtárat!)
foltvarrás1(100) | foltvarrás2(100) |
A. 1 – E 2 pont
B. 2 – A 2 pont
C. 3 – B 2 pont
D. 4 – D 2 pont
E. 5 – D 2 pont
F. 6 – F 2 pont
G. Nincs program C-hez 3 pont
$magyarázat kellene
A foltvarrás1 azonos a második korcsoport megfelelő feladatával.
eljárás foltvarrás2 :méret :szín
tollszín! „fekete
ismétlés 4 [előre :méret jobbra 90]
ismétlés 4 [jobbra 45 előre :méret*gyök 2 hátra :méret*gyök 2
balra 45 előre :méret/4 jobbra 45
előre 3*:méret/4*gyök 2 hátra 3*:méret/4*gyök 2
balra 45 előre :méret/4*3 jobbra 90]
töltőszín! :szín tollatfel előre :méret/2 jobbra 90
előre :méret/8 tölt előre :méret/4 tölt előre :méret/4 tölt
előre :méret/4 tölt előre :méret/8 tollatle
hátra :méret balra 90 előre :méret/2 jobbra 90 előre :méret/2
tollatfel jobbra 90 előre :méret/8 jobbra 90 előre :méret/3
tölt hátra :méret/3*2 tölt előre :méret/3 balra 90
előre :méret/8*6 jobbra 90 előre :méret /3 tölt
hátra :méret/3*2 tölt előre :méret/3 balra 90 előre :méret/8
jobbra 90 előre :méret/2 jobbra 90
tollatle tollszín! „fekete
ismétlés 4 [előre :méret jobbra 90]
vége
foltvarrás1
A. Van külső négyzet 1 pont
B. Van belső, feleakkora négyzet; párhuzamos oldalakkal éppen középen; pirossal kitöltve
1+2+1 pont
C. Van 4 darab negyedakkora négyzet a sarkokban; jó elhelyezkedéssel; kékkel kitöltve
1+2+1 pont
D. foltvarrás1 30 jó; foltvarrás1 40 jó 1+1 pont
foltvarrás2
E. Van külső négyzet 1 pont
F. Van két átló; 2-2 az átlókkal párhuzamos szakasz; rajznak tökéletesen megfelel 1+3+2 pont
G. Oldalsó két derékszögű háromszög kék; két belső kis négyzet kék; 2-2 trapéz kék; minden ábrának megfelel 2+3+3+2 pont
H. foltvarrás2 30 jó; foltvarrás2 40 jó 1+1 pont