Re: Nombre aleatoire

From: Quercia Michel (quercia@cal.enst.fr)
Date: Sun May 24 1998 - 08:28:30 MET DST


To: caml-list@inria.fr
Subject: Re: Nombre aleatoire
Date: Sun, 24 May 1998 08:28:30 +0200
From: Quercia Michel <quercia@cal.enst.fr>

Patrice AUFFRET <patrice.auffret@hol.fr> écrivait le 21/05 à 18h40 :

[français]
: Maintenant je voudrais faire un programme utilisant des
: nombres aléatoires. Cela marche très bien tant que le programme crée est
: exécuté dans le toplevel ( sous Linux ). Mais lorsque je compile le
: programme, j'obtiens toujours le meme nombre.

Tu peux initialiser le générateur pseudo-aléatoire avec une valeur
passée sur la ligne de commande ou prendre l'heure qu'il est ou ...

Sous Linux, le "device" /dev/random fournit des octets aléatoires :

(* fichier alea.ml *)
let ch = open_in "/dev/random" in
let a = input_byte ch in
let b = input_byte ch in
let c = input_byte ch in
random__init ((a lsl 16) + (b lsl 8) + c); close_in ch;;
print_int (random__int 100);;
print_newline();;

(* compilation et exécution *)
bash$ camlc -custom -o alea alea.ml
bash$ for i in 1 2 3 4 5; do ./alea; done
81
72
64
2
41

[english]
See above how to initialize the pseudo-random numbers generator
with the /dev/random device on a Linux box.

----
Michel Quercia
Lycee Carnot  16 bd Thiers  21000 Dijon
http://pauillac.inria.fr/~quercia
mailto:quercia@cal.enst.fr,michel.quercia@ac-dijon.fr



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:14 MET