Casio
Théorie :
Une puce est sur le chien $1$. Elle dispose alors des chances suivantes :
- une probabilité $0,3$ de sauter pour retomber sur le même chien $1$ ;
- une probabilité $0,4$ de sauter sur le chien $2$ ;
- une probabilité $0,3$ de sauter sur le chien $3$.
Si elle se retrouve sur le chien $2$, elle a :
- une probabilité $0,3$ de sauter pour retomber sur le même chien $2$ ;
- une probabilité $0,5$ de sauter sur le chien $3$ ;
- une probabilité $0,2$ de sauter sur le chien $2$.
Si elle se retrouve sur le chien $3$, elle a :
- une probabilité $0,3$ de sauter pour retomber sur le même chien $3$ ;
- une probabilité $0,6$ de sauter sur le chien $1$ ;
- une probabilité $0,1$ de sauter sur le chien $2$.
L’évolution du chien sur lequel elle est ($1$, $2$ ou $3$) rentre dans le cadre qu’on appelle processus de Markov et s’étudie à l’aide de matrices.
Programme
- Le programme considère une variable $X$, qui correspond au numéro du chien sur lequel la puce est et qui vaut $1$ au départ.
- À chaque étape (saut de la puce), le programme prendra au hasard un entier $K$ entre $0$ et $9$.
- Cet entier $K$ indiquera le chien sur lequel elle se trouvera après avoir sauté, à partir du chien sur lequel elle se trouve juste avant de sauter et en respectant les probabilités décrites en prérequis.
- Nous traiterons $20$ sauts au total.
- À la fin de chaque saut, le programme indiquera le numéro du saut et sur quel chien elle se trouve après ce saut.
- Le programme attendra ensuite que l’utilisateur valide pour continuer.
Variables :
- $X$, la position de la puce, $X$ vaut $1$ au départ, puis navigue entre les valeurs $1$, $2$ et $3$.
- $I$, le nombre de sauts effectués par la puce, qui commence donc à $1$ et qui va jusqu’à $20$.
- $K$, un entier tiré au sort entre $0$ et $9$.
Algorithme :
|$X=1$
|pour $I$ allant de $1$ à $20$
|$K$, un entier aléatoire entre $0$ et $9$
|si $X=1$, alors
si $K$ est dans $\lbrace0,1,2\rbrace$, $X$ reste $1$, on ne fait rien (probabilité de $\frac{3}{10}=0,3$)
|si $K$ est dans $\lbrace3,4,5,6\rbrace$, $X=2$ (probabilité de $\frac{4}{10}=0,4$)
|si $K$ est dans $\lbrace7,8,9\rbrace$, $X=3$ (probabilité de $\frac{3}{10}=0,3$)
|si $X=2$, alors
|si $K$ est dans $\lbrace3,4,5,6,7\rbrace$, $X=3$
|si $K$ est dans $\lbrace8,9\rbrace$, $X=1$
|si $X=3$, alors
|si $K$ est dans $\lbrace3,4,5,6,7,8\rbrace$, $X=1$
|si $K$ est égal à $9$, $X=2$
|afficher $I$ et $X$
Programme Casio
(note : entre parenthèses et en italique, des précisions qui ne font pas partie du programme)
$\mathsf{1}$
$\mathsf{2}$ $\mathsf{3}$ $\mathsf{4}$ $\mathsf{5}$ $\mathsf{6}$ $\mathsf{7}$ $\mathsf{8}$ $\mathsf{9}$ $\mathsf{10}$ $\mathsf{11}$ $\mathsf{12}$ $\mathsf{13}$ $\mathsf{14}$ $\mathsf{15}$ $\mathsf{16}$ $\mathsf{17}$ $\mathsf{18}$ $\mathsf{19}$ $\mathsf{20}$ $\mathsf{21}$ $\mathsf{22}$ $\mathsf{23}$ $\mathsf{24}$ $\mathsf{25}$ $\mathsf{26}$ $\mathsf{27}$ $\mathsf{28}$ $\mathsf{29}$ $\mathsf{30}$ $\mathsf{31}$ $\mathsf{32}$ $\mathsf{33}$ $\mathsf{34}$ $\mathsf{35}$ $\mathsf{36}$ $\mathsf{37}$ $\mathsf{38}$ |
$\mathsf{1}\rightarrow\mathsf{X}$↵
$\mathsf{For\ 1}\rightarrow\mathsf{I\ To\ 20}$↵ $\mathsf{RanInt\sharp(0,9)}\rightarrow\mathsf{K}$↵ $\mathsf{If\ X=1}$↵ $\mathsf{Then}$↵ $\mathsf{If\ K\leq6\ And\ K\geq3}$↵ $\mathsf{Then\ 2}\rightarrow\mathsf{X}$↵ $\mathsf{Else}$↵ $\mathsf{If\ K\geq7}$↵ $\mathsf{Then\ 3}\rightarrow\mathsf{X}$↵ $\mathsf{IfEnd}$↵ $\mathsf{IfEnd}$↵ $\mathsf{Else}$↵ (C’est le Else du If X=1) $\mathsf{If\ X=2}$↵ $\mathsf{Then}$↵ $\mathsf{If\ K\leq7\ And\ K\geq3}$↵ $\mathsf{Then\ 3}\rightarrow\mathsf{X}$↵ $\mathsf{Else}$↵ $\mathsf{If\ K\geq8}$↵ $\mathsf{Then\ 1}\rightarrow\mathsf{X}$↵ $\mathsf{IfEnd}$↵ $\mathsf{IfEnd}$↵ $\mathsf{Else}$↵ (C’est le Else du If X=2, inutile de mettre If X=3) $\mathsf{If\ K\leq8\ And\ K\geq3}$↵ $\mathsf{Then\ 1}\rightarrow\mathsf{X}$↵ $\mathsf{Else}$↵ $\mathsf{If\ K=9}$↵ $\mathsf{Then\ 2}\rightarrow\mathsf{X}$↵ $\mathsf{IfEnd}$↵ $\mathsf{IfEnd}$↵ $\mathsf{IfEnd}$↵ $\mathsf{IfEnd}$↵ "$--$"↵ "$\mathsf{SAUT\ :}$"↵ $\mathsf{I}$◄ "$\mathsf{CHIEN\ :}$"↵ $\mathsf{X}$◄ $\mathsf{Next}$ |
Pour créer un nouveau programme, appuyer sur
, puis choisir $\mathsf{PRGM}$, appuyer enfin sur : $\mathsf{NEW}$.- $\mathsf{X}$
- : $\mathsf{For}$ $\mathsf{I}$ : $\mathsf{To}$
- : $\mathsf{RanInt\sharp(}$ $\mathsf{K}$
- : $\mathsf{If\ X}$ : $\mathsf{Char =}$
- : $\mathsf{Then}$
- : $\mathsf{If\ K}$ : $\mathsf{Char\leq}$ : $\mathsf{And\ K}$ : $\mathsf{Char\geq}$
- : $\mathsf{Then}$ $\mathsf{X}$
- : $\mathsf{Else}$
- : $\mathsf{If\ K}$ : $\mathsf{Char}\geq$
- : $\mathsf{Then}$ $\mathsf{X}$
- : $\mathsf{IfEnd}$
- : $\mathsf{IfEnd}$
- : $\mathsf{Else}$
- : $\mathsf{If\ X}$ : $\mathsf{Char =}$
- : $\mathsf{Then}$
- : $\mathsf{If\ K}$ : $\mathsf{Char\leq}$ : $\mathsf{And\ K}$ : $\mathsf{Char\geq}$
- : $\mathsf{Then}$ $\mathsf{X}$
- : $\mathsf{Else}$
- : $\mathsf{If\ K}$ : $\mathsf{Char}\geq$
- : $\mathsf{Then}$ $\mathsf{X}$
- : $\mathsf{IfEnd}$
- : $\mathsf{IfEnd}$
- : $\mathsf{Else}$
- : $\mathsf{If\ K}$ : $\mathsf{Char\leq}$ : $\mathsf{And\ K}$ : $\mathsf{Char\geq}$
- : $\mathsf{Then}$ $\mathsf{X}$
- : $\mathsf{Else}$
- : $\mathsf{If\ K}$ : $\mathsf{Char =}$
- : $\mathsf{Then}$ $\mathsf{X}$
- : $\mathsf{IfEnd}$
- : $\mathsf{IfEnd}$
- : $\mathsf{IfEnd}$
- : $\mathsf{IfEnd}$
- "--"
- "$\mathsf{SAUT\ :}$"
- $\mathsf{I}$: ◄
- "$\mathsf{CHIEN\ :}$"
- $\mathsf{X}$: ◄
- : $\mathsf{Next}$
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.
Calcul matriciel