Médaille
N°1 pour apprendre & réviser du collège au lycée.
Marianne

Conforme au programme
officiel 2018 - 2019

Marche aléatoire à 3 nœuds - Casio
Algorithme

Type de calculatrice

Casio

Prérequis

Théorie :

Une puce est sur le chien 11. Elle dispose alors des chances suivantes :

  • une probabilité 0,30,3 de sauter pour retomber sur le même chien 11 ;
  • une probabilité 0,40,4 de sauter sur le chien 22 ;
  • une probabilité 0,30,3 de sauter sur le chien 33.

Si elle se retrouve sur le chien 22, elle a :

  • une probabilité 0,30,3 de sauter pour retomber sur le même chien 22 ;
  • une probabilité 0,50,5 de sauter sur le chien 33 ;
  • une probabilité 0,20,2 de sauter sur le chien 22.

Si elle se retrouve sur le chien 33, elle a :

  • une probabilité 0,30,3 de sauter pour retomber sur le même chien 33 ;
  • une probabilité 0,60,6 de sauter sur le chien 11 ;
  • une probabilité 0,10,1 de sauter sur le chien 22.

L’évolution du chien sur lequel elle est (11, 22 ou 33) rentre dans le cadre qu’on appelle processus de Markov et s’étudie à l’aide de matrices.

Description

Programme

  • Le programme considère une variable XX, qui correspond au numéro du chien sur lequel la puce est et qui vaut 11 au départ.
  • À chaque étape (saut de la puce), le programme prendra au hasard un entier KK entre 00 et 99.
  • Cet entier KK 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 2020 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 :

  • XX, la position de la puce, XX vaut 11 au départ, puis navigue entre les valeurs 11, 22 et 33.
  • II, le nombre de sauts effectués par la puce, qui commence donc à 11 et qui va jusqu’à 2020.
  • KK, un entier tiré au sort entre 00 et 99.

Algorithme :

|X=1X=1
|pour II allant de 11 à 2020

|KK, un entier aléatoire entre 00 et 99</span

>

|si X=1X=1, alors

si KK est dans {0,1,2}\lbrace0,1,2\rbrace, XX reste 11, on ne fait rien (probabilité de 310=0,3\frac{3}{10}=0,3)

|si KK est dans {3,4,5,6}\lbrace3,4,5,6\rbrace, X=2X=2 (probabilité de 410=0,4\frac{4}{10}=0,4)

|si KK est dans {7,8,9}\lbrace7,8,9\rbrace, X=3X=3 (probabilité de 310=0,3\frac{3}{10}=0,3)

|si X=2X=2, alors

|si KK est dans {3,4,5,6,7}\lbrace3,4,5,6,7\rbrace, X=3X=3</span

>

|si KK est dans {8,9}\lbrace8,9\rbrace, X=1X=1</span

>

|si X=3X=3, alors

|si KK est dans {3,4,5,6,7,8}\lbrace3,4,5,6,7,8\rbrace, X=1X=1</span

>

|si KK est égal à 99, X=2X=2</span

>

|afficher II et XX</span

>

Programme Casio

(note : entre parenthèses et en italique, des précisions qui ne font pas partie du programme)

1\mathsf{1}

2\mathsf{2}

3\mathsf{3}

4\mathsf{4}

5\mathsf{5}

6\mathsf{6}

7\mathsf{7}

8\mathsf{8}

9\mathsf{9}

10\mathsf{10}

11\mathsf{11}

12\mathsf{12}

13\mathsf{13}

14\mathsf{14}

15\mathsf{15}

16\mathsf{16}

17\mathsf{17}

18\mathsf{18}

19\mathsf{19}

20\mathsf{20}

21\mathsf{21}

22\mathsf{22}

23\mathsf{23}

24\mathsf{24}

25\mathsf{25}

26\mathsf{26}

27\mathsf{27}

28\mathsf{28}

29\mathsf{29}

30\mathsf{30}

31\mathsf{31}

32\mathsf{32}

33\mathsf{33}

34\mathsf{34}

35\mathsf{35}

36\mathsf{36}

37\mathsf{37}

38\mathsf{38}

1X\mathsf{1}\rightarrow\mathsf{X}

For 1I To 20\mathsf{For\ 1}\rightarrow\mathsf{I\ To\ 20}

RanInt(0,9)K\mathsf{RanInt\sharp(0,9)}\rightarrow\mathsf{K}

If X=1\mathsf{If\ X=1}

Then\mathsf{Then}

If K6 And K3\mathsf{If\ K\leq6\ And\ K\geq3}

Then 2X\mathsf{Then\ 2}\rightarrow\mathsf{X}

Else\mathsf{Else}

If K7\mathsf{If\ K\geq7}

Then 3X\mathsf{Then\ 3}\rightarrow\mathsf{X}

IfEnd\mathsf{IfEnd}

IfEnd\mathsf{IfEnd}

Else\mathsf{Else}(C’est le Else du If X=1)

If X=2\mathsf{If\ X=2}

Then\mathsf{Then}

If K7 And K3\mathsf{If\ K\leq7\ And\ K\geq3}

Then 3X\mathsf{Then\ 3}\rightarrow\mathsf{X}

Else\mathsf{Else}

If K8\mathsf{If\ K\geq8}

Then 1X\mathsf{Then\ 1}\rightarrow\mathsf{X}

IfEnd\mathsf{IfEnd}

IfEnd\mathsf{IfEnd}

Else\mathsf{Else}(C’est le Else du If X=2, inutile de mettre If X=3)

If K8 And K3\mathsf{If\ K\leq8\ And\ K\geq3}

Then 1X\mathsf{Then\ 1}\rightarrow\mathsf{X}

Else\mathsf{Else}

If K=9\mathsf{If\ K=9}

Then 2X\mathsf{Then\ 2}\rightarrow\mathsf{X}

IfEnd\mathsf{IfEnd}

IfEnd\mathsf{IfEnd}

IfEnd\mathsf{IfEnd}

IfEnd\mathsf{IfEnd}

"--"↵

"SAUT :\mathsf{SAUT\ :}"↵

I\mathsf{I}

"CHIEN :\mathsf{CHIEN\ :}"↵

X\mathsf{X}

Next\mathsf{Next}

Pour créer un nouveau programme, appuyer sur MENU\mathsf{MENU}, puis choisir PRGM\mathsf{PRGM}, appuyer enfin sur F3\mathsf{F3} : NEW\mathsf{NEW}.

  • 1\mathsf{1} X\mathsf{X}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F6\mathsf{F6} F1\mathsf{F1} : For\mathsf{For} 1\mathsf{1} I\mathsf{I} SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F6\mathsf{F6} F2\mathsf{F2} : To\mathsf{To} 2\mathsf{2} 0\mathsf{0}
  • OPTN\mathsf{OPTN} F6\mathsf{F6} F3\mathsf{F3} F4\mathsf{F4} F2\mathsf{F2} : RanInt(\mathsf{RanInt\sharp(} 0\mathsf{0} ,\mathsf{,} 9\mathsf{9} )\mathsf{)} K\mathsf{K}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F1\mathsf{F1} : If X\mathsf{If\ X} EXIT\mathsf{EXIT} EXIT\mathsf{EXIT} F6\mathsf{F6} : Char=\mathsf{Char =} EXE\mathsf{EXE} 1\mathsf{1}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F2\mathsf{F2} : Then\mathsf{Then}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F1\mathsf{F1} : If K\mathsf{If\ K} EXIT\mathsf{EXIT} EXIT\mathsf{EXIT} F6\mathsf{F6} : Char\mathsf{Char\leq} EXE\mathsf{EXE} 6\mathsf{6} OPTN\mathsf{OPTN} F6\mathsf{F6} F6\mathsf{F6} F4\mathsf{F4} F1\mathsf{F1} : And K\mathsf{And\ K} EXIT\mathsf{EXIT} EXIT\mathsf{EXIT} F6\mathsf{F6} : Char\mathsf{Char\geq} EXE\mathsf{EXE} 3\mathsf{3}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F2\mathsf{F2} : Then\mathsf{Then} 2\mathsf{2} X\mathsf{X}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F3\mathsf{F3} : Else\mathsf{Else}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F1\mathsf{F1} : If K\mathsf{If\ K} EXIT\mathsf{EXIT} EXIT\mathsf{EXIT} F6\mathsf{F6} : Char\mathsf{Char}\geq EXE\mathsf{EXE} 7\mathsf{7}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F2\mathsf{F2} : Then\mathsf{Then} 3\mathsf{3} X\mathsf{X}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F4\mathsf{F4} : IfEnd\mathsf{IfEnd}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F4\mathsf{F4} : IfEnd\mathsf{IfEnd}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F3\mathsf{F3} : Else\mathsf{Else}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F1\mathsf{F1} : If X\mathsf{If\ X} EXIT\mathsf{EXIT} EXIT\mathsf{EXIT} F6\mathsf{F6} : Char=\mathsf{Char =} EXE\mathsf{EXE} 2\mathsf{2}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F2\mathsf{F2} : Then\mathsf{Then}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F1\mathsf{F1} : If K\mathsf{If\ K} EXIT\mathsf{EXIT} EXIT\mathsf{EXIT} F6\mathsf{F6} : Char\mathsf{Char\leq} EXE\mathsf{EXE} 7\mathsf{7} OPTN\mathsf{OPTN} F6\mathsf{F6} F6\mathsf{F6} F4\mathsf{F4} F1\mathsf{F1} : And K\mathsf{And\ K} EXIT\mathsf{EXIT} EXIT\mathsf{EXIT} F6\mathsf{F6} : Char\mathsf{Char\geq} EXE\mathsf{EXE} 3\mathsf{3}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F2\mathsf{F2} : Then\mathsf{Then} 3\mathsf{3} X\mathsf{X}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F3\mathsf{F3} : Else\mathsf{Else}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F1\mathsf{F1} : If K\mathsf{If\ K} EXIT\mathsf{EXIT} EXIT\mathsf{EXIT} F6\mathsf{F6} : Char\mathsf{Char}\geq EXE\mathsf{EXE} 8\mathsf{8}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F2\mathsf{F2} : Then\mathsf{Then} 1\mathsf{1} X\mathsf{X}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F4\mathsf{F4} : IfEnd\mathsf{IfEnd}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F4\mathsf{F4} : IfEnd\mathsf{IfEnd}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F3\mathsf{F3} : Else\mathsf{Else}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F1\mathsf{F1} : If K\mathsf{If\ K} EXIT\mathsf{EXIT} EXIT\mathsf{EXIT} F6\mathsf{F6} : Char\mathsf{Char\leq} EXE\mathsf{EXE} 8\mathsf{8} OPTN\mathsf{OPTN} F6\mathsf{F6} F6\mathsf{F6} F4\mathsf{F4} F1\mathsf{F1} : And K\mathsf{And\ K} EXIT\mathsf{EXIT} EXIT\mathsf{EXIT} F6\mathsf{F6} : Char\mathsf{Char\geq} EXE\mathsf{EXE} 3\mathsf{3}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F2\mathsf{F2} : Then\mathsf{Then} 1\mathsf{1} X\mathsf{X}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F3\mathsf{F3} : Else\mathsf{Else}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F1\mathsf{F1} : If K\mathsf{If\ K} EXIT\mathsf{EXIT} EXIT\mathsf{EXIT} F6\mathsf{F6} : Char=\mathsf{Char =} EXE\mathsf{EXE} 9\mathsf{9}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F2\mathsf{F2} : Then\mathsf{Then} 2\mathsf{2} X\mathsf{X}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F4\mathsf{F4} : IfEnd\mathsf{IfEnd}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F4\mathsf{F4} : IfEnd\mathsf{IfEnd}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F4\mathsf{F4} : IfEnd\mathsf{IfEnd}
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F4\mathsf{F4} : IfEnd\mathsf{IfEnd}
  • "--"
  • "SAUT :\mathsf{SAUT\ :}"
  • I\mathsf{I} SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F5\mathsf{F5} : ◄
  • "CHIEN :\mathsf{CHIEN\ :}"
  • X\mathsf{X} SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F5\mathsf{F5} : ◄
  • SHIFT\mathsf{SHIFT} VARS\mathsf{VARS} F1\mathsf{F1} F6\mathsf{F6} F4\mathsf{F4} : Next\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 EXE\mathsf{EXE} .
  • Pour obtenir une lettre, appuyer d’abord sur ALPHA\mathsf{ALPHA} .
  • 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 If\mathsf{If}, les instructions Then\mathsf{Then}, Else\mathsf{Else}, IfEnd\mathsf{IfEnd} sont toujours affichées sur l’écran ; il suffit donc d’utiliser la touche F\mathsf{F} correspondante.

Cours associés

Calcul matriciel