sexta-feira, 21 de outubro de 2016

Teste 1 - TP2

Pergunta 1
Em Python tudo são objectos. Os objectos têm atributos que dependem do tipo do objecto. No entanto existem três que todos têm: identidade, valor e tipo. O nome de um objecto é também um atributo que o objecto obtém através de uma atribuição. Quando fazemos x = x + 1 isso é informaticamente possível porque à esquerda do sinal de atribuição o ‘x’ remete para o nome, enquanto que à direita do sinal de atribuição remete o valor.

Pergunta 2
Uma questão trivial que pedia para usar Python como se de uma vulgar calculadora se tratasse.
import math

def distancia(lat1,long1,lat2,long2):
    termo1 = math.sin(lat1) * math.sin(lat2)
    termo2 = math.cos(lat1) * math.cos(lat2) * math.cos(long1 - long2)
    return 6371.01 * math.acos(termo1 + termo2)

Pergunta 3
Desenhar um tiragulo rectângulo é semelhante a desenhar um triângulo, só que agora basta termos as duas medidas dos catetos. Tornar o desenho livre da dimensão dos lados, da orientação, da cor, obriga a usar esses elementos como parâmetros e a uma preparação para o desenho antes de concretizar. É isso que faz o código seguinte:
import turtle

def tri_rect(x,y,orienta,cor,lado_1,lado_2):
    # inicialização
    turtle.penup()
    turtle.goto(x,y)
    turtle.setheading(orienta)
    turtle.color(cor)
    turtle.pendown()
    turtle.begin_fill()
    # desenha
    
    turtle.forward(lado_1)
    turtle.left(90)
    turtle.forward(lado_2)
    turtle.goto(x,y)
    turtle.end_fill()
    turtle.hideturtle()  
Na segunda parte da pergunta era pedido que usassem a definição anterior como auxiliar para o desenho formado por um número variável de triângulos rectângulos alinhados circularmente e igualmente espaçados. A única dificuldade era controlar a orientação, o que obrigava a saber o espaçamento. É isso que é feito no programa:
def boneco(n, x,y,orienta,cor,menor,maior):
    angulo = 360/n
    for i in range(n):
        tri_rect(x,y,orienta,cor,menor,maior)
        orienta = orienta + angulo

Sem comentários:

Enviar um comentário