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