P1
Em Python todos os programas que escrevemos quando são executados são-no num dado ambiente. Esse ambiente é composto pelo espaço de nomes, o lugar da memória onde se encontram os nomes activos, e o espaço dos objectos, o lugar da memória onde se encontram os objectos descritos através dos seus atributos.
Os dois espaços estão ligados entre si, no sentido de que os nomes estão associados a objectos. essa associação é feita através da instrução de atribuição (explicita ou implícita). Um exemplo simples:
Depois de fazermos a = 5 o nome a passa a existir no espaço de nomes, associado ao objecto de valor 5.
P2
Este problema é muito simples. Escrevo um programa que recebe como entrada o número de tentativas e o número em que digo que acerto. Depois tenho um ciclo que pode ser executado um número máximo de vezes igual ao número de tentativas e que termina com verdadeiro se sair o número, falso no caso contrário.
1.
def
aposta(n,m):
2.
for
i
in
range(m):
3.
num
=
random.randint(
1
,
6
)
4.
if
num
=
=
n:
5.
return
True
6.
return
False
Este programa tem duas partes. Comecemos pela primeira: desenhar um losango colorido, numa dada posição e orientação e com um dado tamanho. Este problema não é muito diferente do que foi feito nas aulas envolvendo polígonos regulares. Daí a solução:
01.
import
turtle
02.
03.
def
petala(posx, posy, orienta, lado, cor):
04.
turtle.penup()
05.
turtle.goto(posx,posy)
06.
turtle.pendown()
07.
turtle.setheading(orienta)
08.
turtle.fillcolor(cor)
09.
turtle.begin_fill()
10.
for
i
in
range(
2
):
11.
turtle.forward(lado)
12.
turtle.left(
60
)
13.
turtle.forward(lado)
14.
turtle.left(
120
)
15.
turtle.end_fill()
A segunda parte é mais fácil pois consiste em repetir o desenho dos losangos, mantendo a posição de referência e rodando o losango.
1.
def
flor(posx, posy,orienta, lado, cor, n,afastamento):
2.
""" desenha uma flor com n pétalas."""
3.
angulo
=
orienta
4.
for
i
in
range(n):
5.
petala(posx,posy, angulo, lado,cor)
6.
angulo
=
angulo
+
afastamento
7.
turtle.hideturtle()
8.
turtle.exitonclick()
Sem comentários:
Enviar um comentário