Ir ao conteúdo
  • Cadastre-se

C++ Gerando números aleatórios (distribuição normal)


Ir à solução Resolvido por Lucca Rodrigues,

Posts recomendados

Você joga uma moeda 20 vezes e calcular a probabilidade de dar cara e anota o valor(exemplo do meu professor)

 

(Tarefa): Se você repetir esse experimento 1000 vezes e faz um histograma das probabilidades calculadas, esse histograma deve ter a forma normal (distribuição normal).

 

Alguém poderia me fornecer uma ideia de como fazer isso? Sou iniciante

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Marcos Felipe Lino Parece mais uma tarefa de estatística do que de programação... E de fato é.

Um histograma do lançamento de apenas uma moeda tem 2 casos possíveis (desconsiderando aquele de 1 em 6000 da moeda cair em sua borda):

image.png.69d6bc5abcf30b2984b24e63dac219d6.png

E é isso. Traçando a curva de Gauss, a área tem valor unitário 1. De ambos os lados da curva, temos uma probabilidade e ocorrência de 50%.

 

1 hora atrás, Marcos Felipe Lino disse:

Se você repetir esse experimento 1000 vezes e faz um histograma das probabilidades calculadas

Então faça isso. Use a função rand() (dentro de um loop) para sortear um número entre, por exemplo, 1 e 2, cada um simbolizando as faces cara e coroa.

Se cair cara, você incrementa uma variável, e se cair coroa, você incrementa outra.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Lucca Rodrigues eu quero fazer 1 grupo com 20 jogadas e calcular P. Vou repetir isso 1000 vezes e vai obter 100 0 valor de P.  Para depois fazer um histograma com os 1000 valores de P obtidos de cada grupo. Você teria um dica de construção? Desde já, muito obrigado pela sua resposta

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Solução

@Marcos Felipe Lino

1 hora atrás, Marcos Felipe Lino disse:

eu quero fazer 1 grupo com 20 jogadas e calcular P.

O que é "grupo"? O que é "P"? Seja mais claro, use termos de programação se você está se referindo à tal.

 

1 hora atrás, Marcos Felipe Lino disse:

Vou repetir isso 1000 vezes

Se vai repetir 20 jogadas 1000 vezes, então jogue 20000 vezes. Da no mesmo, mas nesse segundo caso, só precisa de 1 loop.

 

1 hora atrás, Marcos Felipe Lino disse:

Para depois fazer um histograma com os 1000 valores de P obtidos de cada grupo.

O histograma é simples, como eu já havia mostrado:

image.png.a1806566e7d90e72648cf9dfc8626bd4.png

Num único lançamento (de uma única moeda honesta), você tem lá 50% de chance pra cada face, e na prática, conforme o valor de 'n' (número de lançamentos) aumenta, a frequência relativa tende a 0.5:

image.png.59f2a60bafb1372f1c4ee1c30ac00f73.png

Entenda, 20000 lançamentos não garantem exatas 10000 ocorrências para cada caso, e eu já dei uma ideia de como você poderia fazer:

2 horas atrás, Lucca Rodrigues disse:

Use a função rand() (dentro de um loop) para sortear um número entre, por exemplo, 1 e 2, cada um simbolizando as faces cara e coroa.

Se cair cara, você incrementa uma variável, e se cair coroa, você incrementa outra.

Não sei o que você quer dizer com "fazer um grupo" ou "fazer um histograma", apenas tente fazer isso daí que eu disse, e se quiser desenhar um histograma na console (ou fazer uma função que faça isso), use caracteres do teclado (vai dar trabalho).

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...