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.
1.
def
polar_to_cart_x(r, ang):
2.
x
=
r
*
math.cos(ang)
3.
return
x
4.
if
__name__
=
=
“__main__":
5.
print
(polar_to_cart_x (
10
, pi
/
4
))
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.
01.
import
math
02.
03.
def
dentro(raio, x, y):
04.
len
=
math.sqrt(x
*
*
2
+
y
*
*
2
)
05.
if
len <
=
raio:
06.
return
True
07.
else
:
08.
return
False
09.
10.
11.
def
conta_dentro_circulo(num, raio):
12.
num_dentro
=
0
13.
for
i
in
range(num):
14.
x
=
eval(input(
"x: "
))
15.
y
=
eval(input(
"y: "
))
16.
17.
if
dentro(raio, x, y):
18.
num_dentro
=
num_dentro
+
1
19.
20.
return
num_dentro
21.
22.
23.
if
__name__
=
=
"__main__"
:
24.
print
(conta_dentro_circulo(
3
,
20
))
Usando 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.
01.
import
turtle
02.
import
random
03.
04.
def
rectangulo(xr, yr, lado1, lado2):
05.
#preparar
06.
turtle.penup()
07.
turtle.goto(xr,yr)
08.
turtle.pendown()
09.
10.
#desenhar
11.
for
i
in
range(
4
):
12.
if
i
%
2
=
=
0
:
13.
turtle.forward(lado1)
14.
else
:
15.
turtle.forward(lado2)
16.
turtle.right(
90
)
17.
18.
def
circulo(xc, yc, raio):
19.
#preparar
20.
turtle.penup()
21.
turtle.goto(xc, yc)
22.
turtle.pendown()
23.
24.
#desenhar
25.
turtle.circle(raio)
26.
27.
28.
def
forma_rect_circulo(xf, yf, lado1, lado2):
29.
#rectangulo
30.
rectangulo(xf, yf, lado1, lado2)
31.
32.
#circulo no interior
33.
raio
=
min(lado1, lado2)
/
2
34.
xc
=
xf
+
lado1
/
2
35.
yc
=
yf
-
lado2
/
2
-
raio
36.
circulo(xc, yc, raio)
37.
38.
39.
def
desenha_formas(num, xmin, xmax, ymin, ymax, ladomin, ladomax):
40.
41.
#sortear e desenhar
42.
for
i
in
range(num):
43.
xf
=
random.randint(xmin, xmax)
44.
yf
=
random.randint(ymin, ymax)
45.
lado1
=
random.randint(ladomin, ladomax)
46.
lado2
=
random.randint(ladomin, ladomax)
47.
forma_rect_circulo(xf, yf, lado1, lado2)
48.
49.
50.
if
__name__
=
=
"__main__"
:
51.
turtle.hideturtle()
52.
desenha_formas(
5
,
-
300
,
300
,
-
300
,
300
,
50
,
150
)
53.
turtle.exitonclick()
Sem comentários:
Enviar um comentário