Belokranjski vzorci in rekurzija

Belokranjski vzorci in rekurzija

Avtor: Anja Vencelj

Naloga

Belokranjski vzorci za vezenine stopnje 1, 2, in 3 so naslednji:

(belokranjski.jpg)
belokranjski vzorci stopenj 1, 2 in 3

Npr. vzorec stopnje 3 dobimo tako, da poln kvadrat s stranico a razdelimo na 9 enakih kvadratov. Izrežemo 4 stranske srednje kvadrate. Nato postopek 2x ponovimo na preostalih 5 kvadratih.

Sestavite funkcijo, ki izračuna dolžino potrebne niti, če želimo z vzorcem stopnje n "opremiti" na platno dimenzije d x d (predpostavi, da so vogalni kvadratki na samem robu platna)

Ideja za rešitev

Če si bolje pogledamo osnovni vzorec, ugotovimo, da je celotna dolžina niti enaka obsegu pretih kvadratov. Vsak kvadrat pa ima stranico dolgo tretjini dolžine celotnega platna.

To pomeni, da bi za tak vzorec potrebovali: niti.

(belokranjc1.png)

Naslednji vzorec je sestavljen iz petih osnovnih vzorcev, le da so kvadrati manjši. Tokrat je dolžina stranice kvadrata enaka tretjini dolžine stranice kvadrata v osnovnem vzorcu. In to se ponavlja tudi pri vzorcih večjih stopenj.

(belokranjc2.png)

Zapis rekurzivnega programa

Oglejmo si postopno sestavljanje rešitve:

Python datoteka

Preizkusimo če deluje

Preizkusimo še delovanje programa v Python lupini.

Če imamo platno dolžine 9 enot in vzorec stopnje 2. Če imamo platno dolžine 27 enot in belokranjski vzorec stopnje 3, dobimo:

(vzorecPreizkus.png)

Pri vzorcu stopnje 2 in dolžino stranice platna 9 enot, imamo kvadratkov s stranico dolžine 1 enota (kar pomeni, da je obseg posameznega kvadratka 4 enote), zato je skupna dolžina vrvice ravno 100 enot.

Pri vzorcu stopnje 3 in dolžino stranice platna 27 enot, imamo kvadratkov s stranico dolžine 1 enota (kar pomeni, da je obseg posameznega kvadratka 4 enote), zato je skupna dolžina vrvice ravno 300 enot.

0%
0%