Functions > Math >


Random

G�n�re un nombre pseudo-al�atoire de type float ou integer.

Random ( [Min = 0 [, Max = 1 [, Flag = 0]]] )

Param�tres

Min [optionnel] Le plus petit nombre qui peut �tre g�n�r�. La valeur par d�faut est 0.
Max [optionnel] Le plus grand nombre qui peut �tre g�n�r�. La valeur par d�faut est 1.
Flag [optionnel] S'il est mis � 1, un r�sultat de type 'integer' sera retourn�. Par d�faut c'est un nombre de type 'float'.

Valeur de retour

Succ�s: Retourne un nombre pseudo-al�atoire entre Min et Max.
�chec: D�finit @error <> 0.

Remarques

Si un seul argument est fourni, il est consid�r� comme le param�tre Max.

Le r�sultat sera dans l'intervalle de Min � Max, bornes INCLUSES lors de l'utilisation des r�sultats de type 'integer' (un peu moins du Max lorsqu'il s'agit de 'float').

Si Min et Max ont la m�me valeur alors Random() retournera cette valeur - le flag @error ne sera pas activ� dans ce cas.

Lors de l'utilisation d'Integers, Min et Max doivent �tre inf�rieurs � 2^31.


Commentaires relatifs � l'origine de la source

Cette fonction utilise le g�n�rateur de nombre al�atoire Mersenne Twister, MT19937, �crit par Takuji Nishimura, Makoto Matsumoto, Shawn Cokus, Matthe Bellew et Isaku Wada.

Le Mersenne Twister est un algorithme de g�n�ration de nombres al�atoires. Il a �t� con�u en tenant compte des failles de divers autres g�n�rateurs. La p�riode, 219937-1 et l'ordre de l'�quidistribution, 623 dimensions, sont tr�s grands. Le g�n�rateur est �galement rapide; il �vite les multiplications et les divisions, et b�n�ficie de m�moire cache et de plusieurs canaux de traitement. Pour plus d'informations, voir la page web des inventeurs � http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html

Copyright � 1997 - 2002, Makoto Matsumoto et Takuji Nishimura, Tous droits r�serv�s.

La redistribution et l'utilisation des codes source et binaire, avec ou sans modification, sont autoris�es � condition que les conditions suivantes soient remplies :

1. Les redistributions du code source doivent conserver la notice de copyright ci-dessus, cette liste de conditions et la d�charge suivante.

2. Les redistributions sous forme binaire doivent reproduire la notice de copyright ci-dessus, cette liste de conditions et la d�charge suivante dans la documentation et/ou d'autres documents fournis avec la distribution.

3. Les noms de ses contributeurs ne peuvent �tre utilis�s pour avaliser ou promouvoir des produits d�riv�s de ce logiciel sans autorisation �crite sp�cifique pr�alable.

CE LOGICIEL EST FOURNI PAR LES D�TENTEURS DE DROITS D'AUTEURS ET LES CONTRIBUTEURS "TEL QUEL" ET TOUTE GARANTIE EXPLICITE OU IMPLICITE, Y COMPRIS MAIS SANS LIMITATION DE GARANTIE IMPLICITE DE VALEUR MARCHANDE ET D'ADAPTATION � UN USAGE PARTICULIER SONT R�FUT�S. EN AUCUN CAS LE PROPRI�TAIRE DES DROITS D'AUTEUR OU LES CONTRIBUTEURS NE SAURAIENT �TRE TENUS RESPONSABLES DE TOUT DOMMAGE DIRECT, INDIRECT, ACCESSOIRE, SP�CIAL, DOMMAGES ET INT�R�TS OU DOMMAGES CONS�CUTIFS (Y COMPRIS MAIS SANS LIMITATION FOURNITURE DE MARCHANDISES OU SERVICES DE SUBSTITUTION ; PERTE DE JOUISSANCE, DE DONN�ES OU DE B�N�FICES ; NI INTERRUPTION D'ACTIVIT�) QUELLES QUE SOIENT LEURS CAUSES ET QUEL QUE SOIT LE MOTIF JURIDIQUE INVOQU�, CONTRACTUEL, RESPONSABILIT� CIVILE OU P�NALE (Y COMPRIS N�GLIGENCE OU AUTRE), SURVENANT DE QUELQUE MANI�RE QUE CE SOIT SUITE � L'UTILISATION DU LOGICIEL, M�ME S'ILS ONT �T� AVIS�S DE LA POSSIBILIT� DE TELS DOMMAGES.

En relation

Round, SRandom

Exemples

Exemple 1

#include <MsgBoxConstants.au3>

; Lancer d'une pi�ce.
Example()

Func Example()
    If Random(0, 1, 1) = 1 Then ; Retourne 0 ou 1.
        MsgBox($MB_SYSTEMMODAL, "", "Le cot� de la pi�ce est: Face") ;Si le nombre al�atoire est 1 alors Face � �t� obtenu.
    Else
        MsgBox($MB_SYSTEMMODAL, "", "Le cot� de la pi�ce est: Pile") ; Si le nombre al�atoire est 0, alors Pile a �t� obtenu.
    EndIf
EndFunc   ;==>Example


Exemple 2

#include <MsgBoxConstants.au3>

; Lancer d'un d�.

Example()

Func Example()
    MsgBox($MB_SYSTEMMODAL, "", "Le d� a donn� " & Random(1, 6, 1) & ".") ; Retourne un nombre entier compris entre 1 et 6.
EndFunc   ;==>Example


Exemple 3

#include <MsgBoxConstants.au3>

; Cr�e une cha�ne de texte al�atoire.

Example()

Func Example()
    Local $sText = ""
    For $i = 1 To Random(5, 20, 1) ; Retourne un nombre entier compris entre 5 et 20 pour d�terminer la longueur de la cha�ne.
        $sText &= Chr(Random(65, 122, 1)) ; Retourne un nombre entier compris entre 65 et 122 qui repr�sentent les caract�res ASCII entre 'a' (minuscule) � 'Z' (en majuscule).
    Next
    MsgBox($MB_SYSTEMMODAL, "", "La cha�ne al�atoire est: " & $sText) ; Affiche la cha�ne de texte.
EndFunc   ;==>Example


Exemple 4

#include <MsgBoxConstants.au3>

; Resultat lorsque Min et Max ont la m�me valeur.

Example()

Func Example()
    Local $iRandom = Random(10, 10)
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue, d� au fait que les valeurs Min et Max sont les m�mes: " & $iRandom)
    EndIf
EndFunc   ;==>Example