RANDOM |
Aléatoire |
---|---|
Free Pascal | System |
Syntaxe
Function Random(l:LongInt):LongInt; |
Function Random(l:Int64):Int64; |
Function Random:Extended; |
Paramètres
Nom | Description |
---|---|
l | Ce paramètre permet d'indiquer l'intervalle maximal pouvant être retourner comme nombre généré aléatoirement |
Description
Cette fonction permet de générer un nombre aléatoire.
Remarques
- La fonction Random renvoie un nombre aléatoire supérieur ou égal à 0 et strictement inférieur à l. Pour les valeurs négatives de L, le comportement n'est pas défini. Si le paramètre l est omis, un nombre réel entre 0 et 1 est renvoyé (0 inclus, 1 exclu).
- La mise en oeuvre Free Pascal de la routine Random utilise un algorithme Mersenne Twister pour simuler le caractère aléatoire. Cette implémentation a une meilleure distribution statistique que par exemple un algorithme de générateur linéaire congruentiel, mais est considérablement plus lente que ce dernier. Si la vitesse est un problème, alors des générateurs de nombres aléatoires alternatifs doivent être envisagés.
- Notez que le fait qu'un Mersenne Twister soit utilisé est un détail d'implémentation, pouvant être modifié à tout moment. La seule garantie qu'offre Random() est que la définition de randseed à une valeur particulière se traduira par la même séquence de nombres aléatoires dans une version particulière du RTL. Une version plus récente du RTL peut entraîner une séquence différente pour le même randseed.
Exemple
Voici un exemple générant 10 nombres aléatoires statiques :
on obtiendra le résultat suivant :
5.4881350230425596E-00015.9284461638890207E-0001
7.1518936497159302E-0001
8.4426574409008026E-0001
6.0276337037794292E-0001
8.5794561984948814E-0001
5.4488317738287151E-0001
8.4725173725746572E-0001
4.2365479678846896E-0001
6.2356369639746845E-0001
Voir également
Langage de programmation - Free Pascal - Référence de procédures et fonctions - Randomize
Dernière mise à jour : Samedi, le 18 juillet 2015