O seguinte programa possui um ou mais erros/omissões. Identifique o(s) erro(s)/omissão(ões)relacionando-o(s) com o conceito de espaço de nomes do python.
def polar_to_cart_x(r, ang):
x = r * math.cos(ang)
return x
if __name__ == “__main__":
print(polar_to_cart_x (10, pi/4))
Não é feita a importação do módulo math e devemos usar math.pi e não pi. P2
Escreva um programa para contar o número de pontos que estão dentro de uma circunferência de raio r centrada em (0, 0). O programa deverá receber o número de pontos atestar (num) e o raio (r) como parâmetros. As coordenadas de cada ponto deverão ser pedidas interativamente ao utilizador. No final, o programa deverá indicar o número de pontos que estão dentro da circunferência.
import math
def dentro(raio, x, y):
len = math.sqrt(x ** 2 + y ** 2)
if len <= raio:
return True
else:
return False
def conta_dentro_circulo(num, raio):
num_dentro = 0
for i in range(num):
x = eval(input("x: "))
y = eval(input("y: "))
if dentro(raio, x, y):
num_dentro = num_dentro + 1
return num_dentro
if __name__ == "__main__":
print(conta_dentro_circulo(3, 20))
P3Usando o módulo turtle, escreva um programa que lhe permita desenhar formas do tipo da ilustrada na Figura. Cada forma é composta por um rectângulo com uma circunferência interna, centrados no mesmo ponto.O raio da circunferência dependerá das dimensões do rectângulo, de acordo com o ilustrado na figura. O programa deverá ser parametrizável de maneira a permitir escolher o número de formas, as dimensões mínima e máxima dos lados dos rectângulos, bem como as posições (x e y) dos mesmos. As coordenadas e dimensões do rectângulo envolvente de cada forma deverão ser geradas aleatoriamente.Soluções modulares serão valorizadas.
import turtle
import random
def rectangulo(xr, yr, lado1, lado2):
#preparar
turtle.penup()
turtle.goto(xr,yr)
turtle.pendown()
#desenhar
for i in range(4):
if i%2 == 0:
turtle.forward(lado1)
else:
turtle.forward(lado2)
turtle.right(90)
def circulo(xc, yc, raio):
#preparar
turtle.penup()
turtle.goto(xc, yc)
turtle.pendown()
#desenhar
turtle.circle(raio)
def forma_rect_circulo(xf, yf, lado1, lado2):
#rectangulo
rectangulo(xf, yf, lado1, lado2)
#circulo no interior
raio = min(lado1, lado2) / 2
xc = xf + lado1/2
yc = yf - lado2/2 - raio
circulo(xc, yc, raio)
def desenha_formas(num, xmin, xmax, ymin, ymax, ladomin, ladomax):
#sortear e desenhar
for i in range(num):
xf = random.randint(xmin, xmax)
yf = random.randint(ymin, ymax)
lado1 = random.randint(ladomin, ladomax)
lado2 = random.randint(ladomin, ladomax)
forma_rect_circulo(xf, yf, lado1, lado2)
if __name__ == "__main__":
turtle.hideturtle()
desenha_formas(5, -300, 300, -300, 300, 50, 150)
turtle.exitonclick()


Sem comentários:
Enviar um comentário