Browse thread
Re: Nombre aléatoire.
- Damien Doligez
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Damien Doligez <Damien.Doligez@i...> |
| Subject: | Re: Nombre aléatoire. |
[English summary: The pseudo-random number generator does not give random numbers. You have to initialize it, or it will always give out the same sequence of numbers.] >From: Patrice AUFFRET <patrice.auffret@hol.fr> > Mais lorsque je compile le >programme, j'obtiens toujours le meme nombre. Eh oui, Caml est un langage déterministe, ce qui veut dire que le même programme donne toujours le même résultat, à moins de faire des entrées-sorties (au sens large: toute communication avec le système d'exploitation est une entrée-sortie). Il faut donc donner au générateur de nombres pseudo-aléatoires un point de départ à partir duquel il pond une suite de nombres. En général, on utilise la date et l'heure comme donnée de départ. Le générateur ne le fait pas lui-même car il est souvent utile de pouvoir répéter une exécution à l'identique (par exemple pour déboguer ou pour refaire une simulation). > Le compilateur crée un >nombre qu'il gardera de manière permanante lors de l'exécution >ultérieure du programme. Pas vraiment. Le compilateur est parfois subtil mais jamais méchant. >Comment faire pour qu'il change à chaque >exécution du programme compilé ? Vous devez utiliser la fonction Random.init ou Random.full_init (random__init, random__full_init en Caml Light). -- Damien