« Mathématiques avec Python et Ruby/Nombres pseudo-aléatoires en Ruby » : différence entre les versions

Contenu supprimé Contenu ajouté
mAucun résumé des modifications
Ligne 12 :
puts(rand(6).succ)
</source>
 
Pour simuler une variable aléatoire binomiale de paramètres ''n'' et ''p'', on peut utiliser le fait que celle-ci est la somme de ''n'' variables de [[w:Bernoulli|Bernoulli]] indépendantes entre elles. Façon ''Ruby'', cela peut se faire avec l'algorithme suivant (basé sur une analogie avec un jeu de [[w:Pile ou face|pile ou face]], où ''p'' est la probabilité d'avoir ''pile'' et ''n'' le nombre de lancers de la pièce):
 
#On crée un ensemble de ''n'' objets, par exemple une liste de nombres ''(1..n)'';
#On extrait de celle-ci les nombres victorieux (ceux pour lesquels une pièce est tombée sur ''pile'');
#On compte les objets retenus.
 
En ''Ruby'' cela donne
 
<source lang="ruby">
def binomial(n,p)
return ((1..n).select { |i| rand<p }).size
end
</source>
 
 
=Lancer de dés=