Casio
Théorie :
Considérons deux urnes :
- l’une contient $N$ boules numérotées de $1$ à $N$ ;
- l’autre, aucune.
À chaque étape, on tire au hasard un nombre entier entre $1$ et $N$, et on change d’urne la boule portant le numéro correspondant. $X$ désigne le nombre de boules dans la première urne.
Programme
- Le programme, à partir d’un nombre $N$ de boules présentes dans la première urne, demandé à l’utilisateur, va donner au final le nombre de boules présentes dans cette même urne après $200$ tirages, selon le mode opératoire décrit en prérequis.
- Le programme considère une variable $X$ qui vaut $N$ au départ.
- À chacune des $200$ étapes, le programme va prendre aléatoirement un nombre $K$ compris entre $0$ et $1$.
- Il va comparer $K$ au rapport $\frac{X}{N}$.
- Si $K$ est inférieur à $\frac{X}{N}$, il soustraira $1$ à $X$ ($X$ chances sur $N$).
- Si $K$ est supérieur à $\frac{X}{N}$, il ajoutera $1$ à $X$ ($N-X$ chances sur $N$).
- Ceci pour simuler le tirage au hasard d’un numéro.
- Le programme donnera donc, à la fin de sa simulation, le nombre de boules présentes dans la première urne.
Variables
- $N$, le nombre de boules au total.
- $X$, le nombre de boules dans la première urne ; au début, $X=N$.
- $K$, un flottant (réel) tiré au hasard dans $[0,1]$.
Algorithme
|demander $N$
|$X=N$
|pour $I$ allant de $1$ à $200$
|$K$ aléatoire dans $[0,1]$
|si $K<\dfrac{X}{N}$ alors
|$X$ devient $X-1$
|sinon
|$X$ devient $X+1$
|afficher $X$
Programme Casio
Pour créer un nouveau programme, appuyer sur
, puis choisir $\mathsf{PRGM}$, appuyer enfin sur : $\mathsf{NEW}$.- : $\mathsf{?}$ $\mathsf{N}$ : ’$\mathsf{:}$’$\mathsf{\ N}$ $\mathsf{X}$
- : $\mathsf{For}$ $\mathsf{I}$ : $\mathsf{To}$
- : $\mathsf{Ran\sharp}$ $\mathsf{K}$
- : $\mathsf{If\ K}$ : $\mathsf{Char <}$ $\mathsf{X}$ $\mathsf{N}$
- : $\mathsf{Then\ X}$ $\mathsf{X}$
- : $\mathsf{Else\ X}$ $\mathsf{X}$
- : $\mathsf{IfEnd}$
- : $\mathsf{Next}$
- $\mathsf{X}$
Remarques
Ce programme a été réalisé et testé sur le modèle de calculatrice GRAPH 35+E.
- Pour faire un retour de ligne, appuyer sur .
- Pour obtenir une lettre, appuyer d’abord sur .
- Pour certaines instructions, nous précisons à chaque fois l’enchaînement complet des touches pour y accéder. Toutefois, il arrive que des fonctions soient plus immédiatement disponibles lorsqu’elles font suite à un même type d’instruction. Par exemple, si vous venez d’utiliser l’instruction $\mathsf{If}$, les instructions $\mathsf{Then}$, $\mathsf{Else}$, $\mathsf{IfEnd}$ sont toujours affichées sur l’écran ; il suffit donc d’utiliser la touche correspondante.
Lorsque l’instruction $X$ devient $X-1$ s’applique, on pourrait se demander s’il existe un risque que $X$ devienne négatif, ce qui n’aurait plus de sens dans le contexte. Mais elle ne s’applique que si $K<\frac{X}{N}$, or, lorsque $X=0$, alors $\frac{X}{N}=0$ et $K$ ne peut être strictement inférieur à $0$ (un réel tiré au sort dans [0,1] a une probabilité nulle d’être strictement inférieure à $0$).
Calcul matriciel