Je confirme tout ve que vous avez dit, et je rajoute un argument pour prouver que les nbr pseudo-anéatoires sont basés sur le temps : vous savez peur etre que le langage C repose sur une série de bibliotéques (ou plutot des headers pour les puristes), et la fonction qui initialise le générateur de nbr aléatoire se situe dans la bibliotheque <time.h> (time = temps)
Pour les séries pseudo aléatoire, la basic en son temps utilisait des séries de fourrier, en gros on prend un certain nombre de valeurs qu'on multiplie entre elles modulo un nombre premier. Si ces valeurs sont prises à partir de l'horloge système (à la miliseconde près) on obtient un résultat qui parait très aléatoire. Ensuite chaque valeur calculée est soumise à une fonction des n valeurs précédentes (une multiplication par hasard) modulo toujours la même valeur.
Pour générer des nombres vraiment aléatoires, certains programmeurs (notamment celui qui a inventé le pgp) se bases sur les entrées utilisateur (temps d'appuis des touches clavier et déplacement de la souris) qui sont normallement assez cahotiques. Ensuite on revient sur une serie de fourrier réduite à une cinquantaine de valeurs si l'utilisateur ne touche plus à ses périphériques.
Je ne connait pas l'algorithme qu'utilise aujourd'hui le vb, mais on peut parier que son système de valeur aléatoires n'a pas changé depuis des lustres.
non c'est randomize tout court : l'instruction initialise le générateur de nombres pseudo-aléatoires (n'est-ce pas skywalker ;)) en se basant sur l'horloge système : si tu ne mets pas randomize avant le rnd, tu peux relancer le prog autant de fois que tu veux, t'auras toujours la même série de nombres (sauf si tu redémarres l'ordi mais c'est un pei débile alors !).
Voilà ;), et en effet je confirme que les nombres générés sont pseudo-aléatoires, il me semble qu'en en connaissant quelques un consécutifs on peut prédire les autres (pas mal pour de l'aléatoire hein ? lol) mais je suis pas sûr que ça soit le cas avec VB.
P.S : Skywalker13, tu connais la suite utilisée par VB pour générer les nombres pseudo-aléatoires ? ça m'intéresse si t'as la réponse
@+ KtB
ouais juste... c'est en rapport avec le nombre de secondes écoulées depuis minuit, et je crois encore qqs autres paramètres !
Et c'est pas plutot "Randomize Timer" qu'il faut mettre ?
De facons générales, met toujours l'instruction Randomize avant un nombre aléatoire : c'est cette instruction qui initialise le générateur de nombres aléatoires
Bonne prog
eh bah c tout simple la boule de billard c est un petit jeux que tu peux trouver dans certains magazins, tu lui poses une question (existentielle), tu la secoues et tu regardes la réponse affichée dans le cadre qui ne veut souvent rien dire ou qui n'a aucun rapport avec la question
voila
bon je sais les méga pros me diront que j'aurais pu faire la boule en 3D et faire une animation pour secouer ou je sais pas quoi mais cette source est destinée comme ma précédente à l'usage des debutants pour leur faire connaitre la fonction Rnd
voili voila
12 juin 2003 à 19:45
11 juin 2003 à 18:22
11 juin 2003 à 13:37
Pour générer des nombres vraiment aléatoires, certains programmeurs (notamment celui qui a inventé le pgp) se bases sur les entrées utilisateur (temps d'appuis des touches clavier et déplacement de la souris) qui sont normallement assez cahotiques. Ensuite on revient sur une serie de fourrier réduite à une cinquantaine de valeurs si l'utilisateur ne touche plus à ses périphériques.
Je ne connait pas l'algorithme qu'utilise aujourd'hui le vb, mais on peut parier que son système de valeur aléatoires n'a pas changé depuis des lustres.
9 juin 2003 à 15:52
Voilà ;), et en effet je confirme que les nombres générés sont pseudo-aléatoires, il me semble qu'en en connaissant quelques un consécutifs on peut prédire les autres (pas mal pour de l'aléatoire hein ? lol) mais je suis pas sûr que ça soit le cas avec VB.
P.S : Skywalker13, tu connais la suite utilisée par VB pour générer les nombres pseudo-aléatoires ? ça m'intéresse si t'as la réponse
@+ KtB
9 juin 2003 à 11:55
Et c'est pas plutot "Randomize Timer" qu'il faut mettre ?