quarta-feira, 22 de outubro de 2014

Teste 1 - TP1

Teste # 1 - TP1

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
P3

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()
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.
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