next up previous contents
Next: Complicando um pouco mais: Up: Atividade com números primos Previous: Calcular MDC em Logo   Contents

Calcular uma aproximação de $ \pi$

Com efeito, um resultado conhecido de teoria dos números mostra que a probabilidade de dois números tomados ao acaso sejam primos entre si é de $ \dfrac{6}{\pi^2}\approx 0,6079$ . Para testar a veradicidade desse resultado faremos:
aprenda testar
# Iniciar a variável "contar" com valor 0
atr "contar 0
repita 1000 [ 
  se (MDC sorteie 1000000 sorteie 1000000)=1 [atr "contar :contar+1]
]
mostre [freqüência:]
mostre :contar/1000
fim
Nota: De novo, devemos colocar MDC sorteie 1000000 sorteie 1000000 entre parênteses para que o xLogo não se confunfa tentando interpretar como 1 000 000 = 1. Para evitar esse problema, escreva: se 1=MDC sorteie 1000000 sorteie 1000000
 
Coloque a rodar o procedimento testar.
testar
0.609
testar
0.626
testar
0.597
Obtêm-se valores próximos do valor teórico de 0,6097. É notável que esta freqüência é um valor aproximado de $ \dfrac{6}{\pi^2}$ .
Seja $ f$ a freqüência encontrada, então: $ f\approx \dfrac{6}{\pi^2}$
Então $ \pi^2\approx\dfrac{6}{f}$ e então $ \pi\approx\sqrt{\dfrac{6}{f}}$ .
Apresso-me a acrescentar esta aproximação no meu procedimento, transformo-a no procedimento testar:
aprenda testar
# Iniciar a variável "contar" com valor 0
atr "contar 0
repita 1000 [ 
  se 1=MDC sorteie 1000000 sorteie 1000000 [atr "contar :contar+1]
]
# Calcular a freqüência
atr "f :contar/1000
# Encontrar o valor aproximado de pi
mostre sentença [aproximação de pi:] raizq (6/:f)
fim
testar
aproximação de pi: 3.164916190172819
testar
aproximação de pi: 3.1675613357997525
testar
aproximação de pi: 3.1008683647302115
Bom, altero o meu programa de tal forma que quando rodá-lo, informo o número de tentativas desejados. Tenho a idéia de testar com 10000 tentativas. Eis que obtenho nas minhas três primeiras tentativas:
aprenda testar :tentativas
# Para iniciar a variável contar com valor 0
atr "contar 0
repita :tentativas [ 
  se 1=MDC sorteie 1000000 sorteie 1000000 [atr "contar :contar+1]
]
# Para calcular a freqüência
atr "f :contar/:tentativas
# Encontrar o valor aproximado de pi
mostre sentença [aproximação de pi:] raizq (6/:f)
fim

testar 10000
aproximação de pi: 3.1300987144363774
testar 10000
aproximação de pi: 3.1517891481565017
testar 10000
aproximação de pi: 3.1416626832299914
Nada mal, não?
next up previous contents
Next: Complicando um pouco mais: Up: Atividade com números primos Previous: Calcular MDC em Logo   Contents
alex 2006-06-18