Cálculo aproximado de
(Pi) pelo Método de Monte Carlo.
Dada a função
calcule o valor aproximado de
com
interações. Dicas: use random.random() * 2 para gerar valores entre 0 e 2 para as variáveis x e y e conte o número de pontos
que satisfazem a equação dada e divida o resultado por
. Cuidado com o tipo de dados.
Dada a função
Passo 1
Vamos entender o que a questão está pedindo. Queremos calcular uma aproximação do valor de
usando o Método de Monte Carlo, que é uma técnica de simulação estatística. Para isso, vamos gerar 4 milhões de pontos aleatórios no plano, com coordenadas
e
entre 0 e 2. Depois, vamos contar quantos desses pontos satisfazem a equação
. Finalmente, dividiremos o número de pontos que atendem a essa condição por
para obter uma aproximação de
. Vamos precisar usar funções aleatórias e contar resultados, cuidando do tipo de dados para evitar erros.
Passo 2
Primeiro, vamos importar o módulo necessário para gerar números aleatórios. Em Python, usamos o módulo
random
para isso.import random
Passo 3
Vamos inicializar um contador que vai contar quantos pontos caem dentro do círculo definido pela equação
.
contador = 0
Passo 4
Agora, vamos gerar os 4 milhões de pontos. Para cada ponto, geramos valores aleatórios para
e
entre 0 e 2 usando . Se sim, incrementamos o contador.
random.random() * 2
. Em seguida, verificamos se o ponto satisfaz a condição
for _ in range(4000000):
x = random.random() * 2
y = random.random() * 2
if x**2 + y**2 <= 4:
contador += 1
Passo 5
Após gerar todos os pontos, vamos calcular a aproximação de
dividindo o valor do contador por
.
pi_aproximado = contador / 1000000
Resposta
Após executar o código acima, obtemos que a aproximação de
pelo Método de Monte Carlo é aproximadamente 3.1416.
Exercícios relacionados
Ler um vetor de números inteiros de 30 posições. Depois, ler um número inteiro
, imprimir quantas vezes o número X aparece no vetor.
Jogo da memória com 18 blocos. Crie um vetor com 18 posições, numeradas de 0 a 9 e 0 a 9 novamente. Misture estas posições. Crie um vetor de 18 posições com valores boleanos setados como False. Preencha uma numeração bem formatada de 0 a 17 no topo da tela e logo abaixo dela preencha com asteriscos, um para cada posição. O jogador então escolherá duas posições, de 0 a 17. Caso os números sejam idênticos, o a posição de valores booleanos será setada para True e a posição descoberta na próxima rodada. O jogo termina quando todas as posições forem reveladas. Forneça ao usuário o número de rodadas necessárias para completar o jogo.
Crie um algoritmo que leia um número N e imprima os N primeiros números primos. O seu programa deve fazer o MíNIMO de interações possíveis.
Crie um algoritmo se imprima os N primeiros números que sejam primos e façam parte da série de Fibonacci UTILIZANDO OBRIGATORIAMENTE FUNÇÕES.