L'Aléatoire...

Devacion Messages postés 2 Date d'inscription mardi 31 janvier 2006 Statut Membre Dernière intervention 2 février 2006 - 1 févr. 2006 à 03:42
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 - 1 févr. 2006 à 13:42
J'aimerais savoir de quel façon faire une variable dont la valeur serait ALÉATOIRE.....

J'ai entendu dire qu'il faut utiliser une methode qui récolte des informations sur le temps de ton PC (EX: les secondes)

y a t'il un autre moyen?

(PS :Je travail en C#)

Les Variables Sont des contenants esclaves de nos pensées...

4 réponses

jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
1 févr. 2006 à 07:49
salut

tu peux utiliser la fonction random et la fonction now pour l'heure actuelle;

va i:real;

begin

Randomize;

i:=random(MilliSecondOf(now));

end;

end;



@+

jlen
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
1 févr. 2006 à 09:46
Petite précision : si tu utilises Random() , ce n'est pas la peine de passer l'heure en parametre sinon ca te retounera un nombre entre 0 et l'heure actuelle. Ce n'est peut etre pas l'effet recherché ...

UN seul appel à Randomize() pour toute l'application. donc dans le OnCreate ou un bloc "intialization"

@ ++ Flo

Si tu ne te plantes pas ......
tu ne pousseras jamais
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
1 févr. 2006 à 09:57
salut florent,

de toute façon millisecond renvoie un nombre entre 0 et 999 quelque
soit l'heure actuelle ou plus exactementla fonction renvoie la
milliseconde de la seconde actuelle

par exemple s'il est 9:51:30:650ms elle te renvera 650

dans le cas de random on obtient un un nombre doublement aléatoire
encore qu'on auait pu se conteenter d'extraire la milliseconde de
l'heure actuelle ce qui donne un nommbre aléatoire corect.



@+

jlen
0
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
1 févr. 2006 à 13:42
L'Aléatoire c'est encore un mythe, faut pas rever. Execute le meme programme deux fois de suite en mettant le meme seed pour la fonction random et t'aura toujours la meme série de nombres : c'est du pseudo aléatoire.

Une "méthode" que j'utilisais jadis, utiliser le contenu d'une(ou plus) variable déclarée mais pas initialisée comme seed du générateur aléatoire.

Tu peux aussi utiliser le résultat de (gettickcount div 19) modulo 32584 ou que sais-je encore
pour créer un générateur, ou du moins t'assurer que ton prog ne choppe jamais 2 fois le meme seed.

Il y a une littérature abondante sur le web. Apres faut savoir si c'est crucial d'avoir du quasi alétoire (lourd en temps calcul) ou si le générateur de la lib de maths te suffit.
0
Rejoignez-nous