
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