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.


def quad(lado,xcor,ycor,orient):
"""Desenha um quadrado em que o lado, a posição inicial e a orientação inicial podem variar.

"""
penup()
goto(xcor,ycor)
setheading(orient)
pendown()
for i in range(4):
forward(lado)
right(90)
hideturtle()


Com este programa a funcionar como auxiliar tudo se torna mais simples.

def nautilus(n, lado, xcor,ycor, angulo):
"""Desenha n quadrados com lados e orientações variáveis.
Desenha uma forma semelhante a um Nautilus.

"""
reset()
for conta in range(n):
quad(lado,xcor,ycor,angulo)
lado = lado + 10
angulo = angulo + 15
hideturtle()

Sem comentários:

Enviar um comentário