Cercles de Koch P23290


Statement
 

pdf   zip

Voleu pintar en Python fractals tant xulos com aquest?

Per pintar un fractal de n1n\ge1 nivells de mida dd, cal pintar un cercle de mida dd, i quatre fractals al seu damunt, avall, esquerra i dreta amb n1n-1 nivells i mida d/2d/2. Un fractal de zero nivells és buit.

Per exemple, aquests són els fractals amb 1, 2, 3, 4, 5 i 6 nivells:

1      

4      

Entrada

A l’entrada, es dónen dos valors: un natural nn amb el nombre de nivells del fractal i un real positiu dd amb la seva mida.

Sortida

El programa ha de dibuixar el fractal d’nn nivells i mida dd centrat a la finestra.

2

Exemple d’entrada 1

4
100

Exemple de sortida 1

2

Exemple d’entrada 2

2
50

Exemple de sortida 2

Recordatori

Recordeu que Python ofereix un mòdul turtle que permet pintar images. Les úniques operacions que us calen són turtle.goto(x, y) que mou la tortuga a les coordenades (x,y), turtle.circle(r) que pinta un cercle de radi r, turtle.down() que activa el traçat i turtle.up() que desactiva el traçat.

Per exemple, aquest programa pinta un cercle de mida d al mig de la finestra:

import turtle
import yogi

d = yogi.read(float)
turtle.up()
turtle.goto(0, -d/2)
turtle.down()
turtle.circle(d)

Important

Aquest problema no té jocs de proves al Jutge. Per tant, qualsevol solució serà acceptada: semàfor verd! Això no vol dir que sigui bona ni dolenta, el vostre professor ho corregirà.

Information
Author
Jordi Petit
Language
Catalan
Official solutions
Python
User solutions
Python