Era pedido um programa que calculasse a percentagem de ocorrências de caras no lançamento de uma moeda ao ar. O número dos lançamentos era um parâmetro do programa.
Não era preciso pensar muito para perceber que: (a) vamos precisar de simular o lançamento da moeda um número fixo de vezes e, (b) contar o número de vezes em que ocorreu caras. Um modelo inicial de solução poderá ser:
1.
def
caras(n):
2.
# inicializa contagem
3.
for
i
in
range(n):
4.
# lança moeda
5.
if
#caras?:
6.
# actualiza contagem
7.
return
#percentagem
01.
def
caras(n):
02.
# inicializa contagem
03.
conta
=
0
04.
for
i
in
range(n):
05.
# lança moeda
06.
if
#caras?:
07.
# actualiza contagem
08.
conta
=
conta
+
1
09.
return
conta
/
n
*
100
Simular o lançamento pode ser conseguido recorrendo ao módulo random e ao método randint.
01.
import
random
02.
03.
def
caras(n):
04.
# inicializa contagem
05.
conta
=
0
06.
for
i
in
range(n):
07.
# lança moeda
08.
resultado
=
random.randint(
0
,
1
)
09.
if
resultado
=
=
0
:
10.
# actualiza contagem
11.
conta
=
conta
+
1
12.
return
conta
/
n
*
100
01.
import
random
02.
03.
def
caras(n):
04.
# inicializa contagem
05.
conta
=
0
06.
for
i
in
range(n):
07.
# lança moeda
08.
resultado
=
random.choice(’caras’,’coroas’)
09.
if
resultado
=
=
‘caras’:
10.
# actualiza contagem
11.
conta
=
conta
+
1
12.
return
conta
/
n
*
100
Este problema tinha duas partes. Primeiro, escrever um programa que permite desenhar um quadrado, tendo como parâmetros o tamanho do lado, a cor do traço, a orientação e a posição. Segundo, usar este programa como auxiliar para desenhar vários quadrados, alterando os parâmetros em cada um de modo a desenhar uma forma semelhante a um nautilus. Divididas as questões deste modo a primeira questão era trivial (e já resolvida nas aulas,…).
01.
import
turtle
02.
03.
def
quadrado(lado,orientacao,pos_x,pos_y,cor):
04.
# inicializa tartaruga
05.
turtle.showturtle()
06.
turtle.penup()
07.
turtle.goto(pos_x,pos_y)
08.
turtle.setheading(orientacao)
09.
turtle.colormode(
255
)
10.
turtle.pencolor(cor)
11.
turtle.pendown()
12.
# desenha quadrado
13.
for
i
in
range(
4
):
14.
turtle.forward(lado)
15.
turtle.right(
90
)
16.
turtle.hideturtle()
Quanto à segunda parte do problema só tínhamos que perceber que se trata de repetir o desenho do quadrado com diferente orientação, posição e tamanho. E foi para isso que escrevemos o primeiro programa…
01.
def
boneco(lado,orientacao,pos_x,pos_y,cor,n):
02.
for
i
in
range(n):
03.
# Desenha Quadrado
04.
quadrado(lado,orientacao,pos_x,pos_y,cor)
05.
# Actualiza parâmetros
06.
pos_x
=
pos_x
+
lado
/
/
5
07.
pos_y
=
pos_y
+
lado
/
/
5
08.
orientacao
=
orientacao
+
15
09.
lado
=
lado
+
10
Sem comentários:
Enviar um comentário