Accueil > > > FONCTION VRAIMENT ALÉATOIRE
FONCTION VRAIMENT ALÉATOIRE
Information sur la source
Description
Comme vous le savez la fonction Random que propose Visual Basic n'est pas réellement aléatoire, c'est un algorithme qui respecte la loi des grands nombres. La raison est que faire une fonction qui retourne un nombre de façon aléatoire est très compliqué. Voici une fonction qui renvoie un nombre qui est réellement imprévisible, l'astuce:utiliser le temps...
Source
- 'Fonction générant le nombre aléatoire-------------------------'
- Public Function Alea() As Double '
- '
- TempAlea = "0," 'comme rnd, 0<Alea<1, par conséquent seules les décimales importent
- '
- For k = 0 To 9 'il y a 10 décimales '
- Call QueryPerformanceCounter(TimeStart) '
- Randomize '
- For i = 0 To 100000 * Rnd '
- Next i '
- 'action qui ralenti le processus (d'une facon psudo-aléatoire) '
- Call QueryPerformanceCounter(TimeStop) '
- '
- Calctps = CStr(TimeStop - TimeStart) / Frequency * 1000 '
- 'Nous avont ainsi un temps d'execution qui sera toujours différent
- '
- Randomize '
- TempAlea = TempAlea & "" & Mid$(Calctps, 13 * Rnd + 3, 1) & "" '
- Next k '
- '
- Alea = TempAlea 'Alea devient non pas une chaine mais un nombre à virgules
- '
- End Function '
- '--------------------------------------------------------------'
'Fonction générant le nombre aléatoire-------------------------'
Public Function Alea() As Double '
'
TempAlea = "0," 'comme rnd, 0<Alea<1, par conséquent seules les décimales importent
'
For k = 0 To 9 'il y a 10 décimales '
Call QueryPerformanceCounter(TimeStart) '
Randomize '
For i = 0 To 100000 * Rnd '
Next i '
'action qui ralenti le processus (d'une facon psudo-aléatoire) '
Call QueryPerformanceCounter(TimeStop) '
'
Calctps = CStr(TimeStop - TimeStart) / Frequency * 1000 '
'Nous avont ainsi un temps d'execution qui sera toujours différent
'
Randomize '
TempAlea = TempAlea & "" & Mid$(Calctps, 13 * Rnd + 3, 1) & "" '
Next k '
'
Alea = TempAlea 'Alea devient non pas une chaine mais un nombre à virgules
'
End Function '
'--------------------------------------------------------------'
Conclusion
La fonction est dans le zip accompagnée d'un programme qui permet de vois si la loi des grands nombres est vérifiée. C'est le cas mais beaucoup moins bien qu'avec la fonction Random.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Recherche aléatoire [ par Domino ]
Dans un but de contrôle (auditeurs) on me demande de sélectionner (afficher dans un grid ou charger dans un recordset), 3 records provenant d'une tabl
attribuer un identifiant aléatoire calculé avec des chiffre et des lettres [ par yobogs ]
Bonjour,quelqu'un aurait il un script me permettant de calculer un identifiantaléatoire et verifier dans la base de donnée s'il n'existe pas.Je ne veu
nombre aléatoire [ par inconnu24 ]
je veux créer des nombres aléatoires de 12 digits qui sont stocké dans une base de donné. chaque fois que je fais la création, il faut vérifier qu'un
comment créer un tableau... [ par mike ]
Voilà en fait je voudrais créer un tableau dans lequel une valeur tirée au hasard ne revienne plus ensuite! Par exemple si je fais un programme de lot
Vraiment aléatoire ? [ par Niaphron ]
Bonjour, je voudrais savoir quand un on à 2 ordianteurs qui tire un nombre aléatoire à la mm heure, mm minute et mm seconde, est-ce-que les 2 ordi tir
Tirage aléatoire [ par commeunpic ]
Je cherche un code htmlpour générer un tirage aléatoire d'un texte ou d'un fichier parmi une vingtaine de textes ou fichiers .Cela existe t'il par ici
JEU DE SIMULATION [ par cumu ]
NetTrader est un jeu qui vous permet de goûter aux joies et aux frayeurs de la Bourse mais sans le moindre risque. Achetez, revendez, gagnez ou perdez
Simulation de F1(J'ai un problème) [ par Viacman ]
Je suis en train de créé un simulateur de formule 1 mais j'ai un gros problème.Quand je simule, quelques pilotes arrivent à la même position. Exemple
Simulation de train (pb sur la conception) [ par romain ]
Voilà, j'aimerais faire une petite simulation ferroviaire.Je me heurte deja à un pb.Comment faire pour que lorsq'un train passe le feu passe au rouge
Nombre aléatoire, réelement... [ par yobogs ]
Bonjour, j'utilise cette fonction Int(2000 * Rnd + 1) pour génèrer un entier aléatoire entre 1 et 2000.Or je me rends compte que lorsque je lance mo
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|