Qu’est-ce qu’un entier aléatoire ? Est-ce qu’un entier pris au hasard antre 1 et 1 000 000 est réellement représentatif d’un entier aléatoire quelconque ? On s’aperçoit très vite que notre modélisation ne fait qu’approcher le modèle idéal. Bien, c’est justement sur la façon de générer le nombre aléatoire que nous allons effectuer quelques changements... Nous n’allons plus utiliser la primitive hasard mais utiliser la séquence des décimales de π. Je m’explique : les décimales de π ont toujours intrigué les mathématiciens par leur manque d’irrégularité, les chiffres de 0 à 9 semblent apparaître en quantité à peu près égales et de manière aléatoire. On ne peut prédire la prochaine décimales à l’aide des précédentes. Nous allons voir ci-après comment générer un nombre alatoire à l’aide des décimales de π. Tout d’abord, il va vous falloir récupérer les premières décimales de pi (par exemple un million).
http ://downloads.tuxfamily.org/xlogo/common/millionpi.txt
Pour créer nos nombres aléatoires, bous prendrons des paquets de 8 chiffres dans la suite des décimales de π.
Explication, le fichier commence ainsi :
Premier nombre Deuxième nombre Troisième nombre338327950288419716939
etc
J’enlève le « . »du 3.14 .... qui risque de nous ennuyer quand on extraiera les décimales. Bien, tout est en place, nous créons une nouvelle procédure appelée hasardpi et modifions légèrement la procédure test
On retrouve donc une approximation du nombre π à l’aide de ses propres décimales !
Il est encore possible d’améliorer ce programme en indiquant par exemple le temps mis pour le calcul. On rajoute
alors en première ligne de la procedure test :
donne "debut temps
On rajoute juste avant fermeflux 1 :
ecris phrase [Temps mis : ] temps - :debut