Overblog Tous les blogs Top blogs Photographie
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

Paris, photo, humeurs, un peu de HTML/CSS pour faire sérieux. Feinte innocence et vraie naïveté (ou vice-versa). Encore un blog qui agite ses petits bras en couinant "Viens me lire !"

Publicité

Programmation : Tirages aléatoires

L'instruction var alea=Math.random(); donne à la variable alea une valeur pseudo-aléatoire comprise entre 0 et 1. Les deux petites fonctions que voici brodent sur ce thème.


Première variation : un nombre entier entre 0 et i, i étant exclu.

 /*entier aléatoire entre 0 et i (exclu) */ Math.intRandom = function(i) {if (i<=0) return undefined; var n=Math.floor((i)*Math.random()); return n<i ? n : n-1; }; 

Cette fonction est un simple déguisement de Math.random, si ce n'est la précaution finale.


Deuxième variation : un tableau de n nombres compris entre 0 et i. Ce tirage est sans répétition, ce qui le rend très utile pour, par exemple, réarranger un tableau.

 // n aléatoires ss répétition entre 0 et i Math.listRandom = function(i,n) {var j,k,l,list=new Array(),done=new Array(); n=Math.min(n,i); for (l=0;l<n;l++) {j=Math.intRandom(i-l); for (k=0;k<=j;k++) {if (done[k]) ++j;} list[l]=j; done[j]=true; } return list; }; 

Cette fonction renvoie la référence d'un tableau contenant n nombres. Elle utilise la précédente : pensez donc à copier les deux programmes.


Pour mémoire : d'autres liens JavaScript

Publicité
Retour à l'accueil
Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article