segunda-feira, 24 de outubro de 2011

Problema 3.7

Neste exemplo é-nos pedido para fazer um desenho como o da figura.


Este problema permite mostrar como se pode dominar a complexidade de um problema reutilizando código. Com efeito o que nos é pedido não é mais do que desenhar sucessivos quadrados em que o que vai mudando é o comprimento do lado e a orientação. Assim, usaremos o programa já anteriormente definido que permite desenhar um quadrado, conhecidos o comprimento do lado, a posição inicial e a orientação.

01.def quad(lado,xcor,ycor,orient):
02.    """Desenha um quadrado em que o lado, a posição inicial e a orientação inicial podem variar.
03.     
04.    """
05.    penup()
06.    goto(xcor,ycor)
07.    setheading(orient)
08.    pendown()
09.    for i in range(4):
10. forward(lado)
11. right(90)
12.    hideturtle()


Com este programa a funcionar como auxiliar tudo se torna mais simples.
01.def nautilus(n, lado, xcor,ycor, angulo):
02.    """Desenha n quadrados com lados e orientações variáveis.
03.    Desenha uma forma semelhante a um Nautilus.
04.     
05.    """
06.    reset()
07.    for conta in range(n):
08. quad(lado,xcor,ycor,angulo)
09. lado = lado + 10
10. angulo = angulo + 15
11.    hideturtle()

Sem comentários:

Enviar um comentário