Sortie aléatoire

bonsoir

je souhaiterai vous faire partager ce petit probleme de proba , soit le tableau suivant

t = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) à partir de ce tableau j'ai crée un bout de code qui permet la generation aléatoire de

valeurs à partir du tableau t , le voici :

t = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
Randomize
For i = 0 To 20
 x = x & " " & Int(Rnd * t(UBound(t)) + 1)
 Next
 MsgBox x

Peut on affirmer à partir de ce bout de code que la proba de sortie de chacune des valeurs du tableau se fait de facon equiprobable ?

Merci pour vos réponses

Bonsoir,

Oui dans la mesure où le générateur Microsoft remplit bien cette condition... Pour les 11 premiers cependant, le 12 n'a aucune chance... !

Cordialement.

Merci pour cette réponse Mferrand , mais le 12 aussi peut sortir , ( apres avoir fait quelques essais )

Sauf avec Option Base 1, mais pas en situation normale.

N'ayant rien dit à ce sujet, UBound(t) est égal à 11, Rnd est inférieur à 1, la partie entière du produit est donc au max 10, et +1 amène le max sorti à 11.

Cordialement.

edit : Au temps pour moi, J'ai lu trop vite : c'est pas UBound(t) mais t(UBound(t)) qui lui est égal à 12 !

Ceci dit, tu n'as pas besoin de t, il suffit de ... = Int( Rnd * 12 +1) pour obtenir le même résultat.

..pourtant avec Rnd * t(UBound(t)) + 1) , comme ubound(t) = 11 alors t(11)=12 et si rnd prend sa valeur maxi à 0,999999

alors int ( 0,999999 * 12 +1 ) = 12

je viens de faire un essai sur 100 valeur , j'ai bien l'apparition du 12 ... à moins que vous vouliez dire autre chose

Déjà rectifié...

Rechercher des sujets similaires à "sortie aleatoire"