def quadrado_2(lado):
"""Desenha um quadrado de lado lado.
"""
conta = 0
while conta < 4:
forward(lado)
right(90)
conta = conta + 1
def quadrado_3(lado):
"""Desenha um quadrado de lado lado.
"""
for i in range(4):
forward(lado)
right(90)
Aqui o importante a reter é que é mais adequado usar o ciclo for: conhecemos quantas vezes vamos ter que executar o ciclo.
Mas podemos querer uma solução em que a posição e a orientação iniciais também possam ser variáveis. Esta questão resolve-se considerando esses elementos como parâmetros.
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()
Podemos generalizar o programa do quadrado para o caso de um polígono regular, desenhado a partir do conhecimento do número de lados e do seu comprimento.
def poligono(num_lados,tam_lado):
"""Desenha um polígono regular.
"""
angulo = 360.0 / num_lados
for i in range(num_lados):
forward(tam_lado)
right(angulo)
hideturtle()
Uma vez mais se pode ver como se trata a questão de ter mais elementos variáveis: são acrescentados como parâmetros. Este programa pode ajudar-nos a desenhar uma circunferência, conhecido o seu raio. A localização inicial pode ser fixa ou variável.
def circunf(raio):
"""Desenha uma circunferência conhecido o raio.
"""
perimetro = 2 * math.pi * raio
tam_lado = int(perimetro / 360.0)
poligono(360,tam_lado)
hideturtle()
def circunf_centro(raio, xcor_centro,ycor_centro):
"""Desenha uma circunferência conhecido o raio e a posição do centro.
"""
perimetro = 2 * math.pi * raio
tam_lado = int(perimetro / 360.0)
penup()
goto(xcor_centro, ycor_centro)
pendown()
poligono(360,tam_lado)
hideturtle()
Sem comentários:
Enviar um comentário