quarta-feira, 22 de outubro de 2014

Teste 1 - TP2

Teste 1 - TP2

P1

Os programas são construídos e são executados. Quando os desenvolvemos através de um def eles podem ter argumentos que são nomes. Aos argumentos que aparecem nas definições chamamos parâmetros formais. Quando executamos um programa recorremos ao nome do programa colocando entre parênteses expressões que quando avaliadas correspondem a objectos. Essas expressões são designadas por parâmetros reais.
def xpto(x,y):
 return 2*x*y

print(xpto(4,8))
No exemplo a acima, x e y são parâmetros formais, enquanto 4 e 5 são parâmetros reais. P2

Determinar se a distância entre dois pontos é inferior a um dado limiar consiste em calcular a distância e comparar com o limiar.
import math

def perigo(x1,y1,x2,y2,limiar):
    """ Determina se a distância entre dois pontos é inferior a um dado limiar."""
    dist = math.sqrt((x1 - x2)**2 + (y1 - y2)**2)
    if dist < limiar:
        return True
    else:
        return False
P3

Este programa tem duas partes. A primeira consiste em construir um programa que permita desenhar um rectângulo, controlando a posição, a orientação o comprimento dos lados e a cor. à semelhança do que foi feito nas aulas para o caso dos polígonos regulares, temos uma solução simples.
import turtle

def vela(posx, posy, orienta, lado1 ,lado2, 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(lado1)
        turtle.left(90)
        turtle.forward(lado2)
        turtle.left(90)
    turtle.end_fill()
    turtle.hideturtle()
A segunda pergunta recorre ao primeiro programa e é trivial. Ter um ciclo em que vamos desenhando rectângulos desfasados de um dado ângulo.
def moinho(posx, posy,orienta, lado1, lado2, cor, n,afastamento):
    """ desenha as velas de um moinho"""
    angulo = orienta
    for i in range(n):
        vela(posx,posy, angulo, lado1,lado2,cor)
        angulo = angulo + afastamento
    turtle.hideturtle()
    turtle.exitonclick()

Sem comentários:

Enviar um comentário