OVH Cloud OVH Cloud

A propos de RANDOMIZE

2 réponses
Avatar
LE TROLL
Bonjour,

Je ne comprends pas "bien" l'utilisation de "randomize" dans la
génération d'un nombre pseudo-aléatoire dans des cas spécifiques, en effet,
habituellement je faisais:
randomize
var_recep = Int((maximum - minimum + 1) * Rnd + pas(step))
' soit ici valeur entière de 1 à 78
-------------
Mais là je me trouve dans une situation où je dois gérer deux nombres
aléatoires différents, et ceci en boucle "tant que" (schématiquement), soit:
'
dim x(78) as byte, y(5) as byte
randomize
Tant que les 78 valeurs ne sont pas sorties
var_recep1 = Int((maximum78 - minimum1 + 1) * Rnd + pas(step = 1))
x(i) = var_recep1 ' + test si pas déjà trouvé
loop
'
Tan que les 5 valeurs ne sont pas sorties
var_recep2 = Int((maximum 5- minimum1 + 1) * Rnd + pas(step = 1))
y(j) = var_recep2 ' + test si pas déjà trouvé
loop
' ce code est juste un principe pour comprendre mes besoins...
--------------
Question:
-1-
Le "Randomize", doit il être mis à chaque fois que je demande la génération
du nombre pseudo-aléatoire (npa), ou une seule fois comme je l'ai mis ???
-2-
Du fait que je demande deux (npa), faut, il au moins au départ, mettre pour
chacun un "Randomize" ???

--
Merci beaucoup, au revoir et à bientôt :o)
------
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------

2 réponses

Avatar
Picalausa François
"LE TROLL" <le a écrit dans le message de news:
%23D$
je me trouve dans une situation où je dois gérer deux nombres aléatoires
différents



Hello,

Le seul problème si tu ne réinitialise pas le générateur pseudo aléatoire
est que la seconde suite est la suite de la précédente.
Dans des applications cryptographiques, cela peut avoir une incidence...
mais la fonction Rnd de VB n'est certainement pas la meilleure pour ce type
d'application.

Si par contre ta première opération ne dure pas suffisament longtemps, il se
peut qu'en réinitialisant, tu obtienne deux fois de suite la même suite, ce
qui n'est généralement pas souhaitable. (Timer étant la valeur par défaut de
Randomize et Timer ayant une résolution de 25 ms)

Donc, je dirais qu'en fonction de ce que l'application est sencé faire (et
je n'ai absolument rien compris au pseudo code posté), réinitialiser le
générateur peut être utile (si l'indépendance des deux suites doit être
garantie), mais ne l'est généralement pas.

--
Picalausa François
Avatar
LE TROLL
Merci :o)


--
Merci beaucoup, au revoir et à bientôt :o)
------
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Picalausa François" a écrit dans le message de news:

"LE TROLL" <le a écrit dans le message de news:
%23D$
je me trouve dans une situation où je dois gérer deux nombres aléatoires
différents



Hello,

Le seul problème si tu ne réinitialise pas le générateur pseudo aléatoire
est que la seconde suite est la suite de la précédente.
Dans des applications cryptographiques, cela peut avoir une incidence...
mais la fonction Rnd de VB n'est certainement pas la meilleure pour ce
type d'application.

Si par contre ta première opération ne dure pas suffisament longtemps, il
se peut qu'en réinitialisant, tu obtienne deux fois de suite la même
suite, ce qui n'est généralement pas souhaitable. (Timer étant la valeur
par défaut de Randomize et Timer ayant une résolution de 25 ms)

Donc, je dirais qu'en fonction de ce que l'application est sencé faire (et
je n'ai absolument rien compris au pseudo code posté), réinitialiser le
générateur peut être utile (si l'indépendance des deux suites doit être
garantie), mais ne l'est généralement pas.

--
Picalausa François