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.
def aposta(n,m): for i in range(m): num = random.randint(1,6) if num == n: return True return FalseP3
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:
import turtle def petala(posx, posy, orienta, lado, cor): turtle.penup() turtle.goto(posx,posy) turtle.pendown() turtle.setheading(orienta) turtle.fillcolor(cor) turtle.begin_fill() for i in range(2): turtle.forward(lado) turtle.left(60) turtle.forward(lado) turtle.left(120) turtle.end_fill()Começamos por levantar a caneta, posicionar a tartaruga, orientá-la e definir a cor. Depois é só executar as operações de avanço e rotação.
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.
def flor(posx, posy,orienta, lado, cor, n,afastamento): """ desenha uma flor com n pétalas.""" angulo = orienta for i in range(n): petala(posx,posy, angulo, lado,cor) angulo = angulo + afastamento turtle.hideturtle() turtle.exitonclick()
Sem comentários:
Enviar um comentário