next up previous contents index
suivant: Des calculs de moyenne monter: Pour s'amuser avec les précédent: Les anniversaires de n   Table des matières   Index

Les 4 dés du jeu de Win

On considère les 4 dés suivants : Chacun des joueurs choisit un dé. À chaque lancer, celui qui a le meilleur score marque 1 point. La partie se compose de 12 lancers.
On veut simuler ce jeu pour que l'on puisse jouer contre l'ordinateur. L'ordinateur tire au hasard un dé, vous donne son choix, puis vous choisisez un parmi les 3 dés qui restent. Puis vous jouez....
Quel dé faut-il choisir pour gagner contre l'ordinateur ?
On numérote les faces de chaque dé : par exemple, par ordre croissant des points des faces, ainsi pour le dé A les faces 0,1 ont comme points 0 et les faces 2,3,4,5 ont comme points 4. Pour jouer avec un dé, on tire au hasard un nombre entier entre 0 et 5 (rand(6)) pour voir sur quelle face tombe le dé, puis on regarde le nombre de points de cette face. Ce nombre dépend du dé choisi.
On écrit donc une fonction qui renvoie pour chaque dé la valeur de la face n du dé.
rande(des,n):={
if (des=="A"){if (n==0 or n==1) return 0 ;
                             else return 4;};
if (des=="B"){if (n==0 or n==1 or n==2) return 1; 
                             else return 5;};
if (des=="C"){if (n==4 or n==5) return 6;
                             else return 2;};
return 3;
}:;
Puis on écrit le programme qui correspond a une partie (12 lancers pour chacun) et qui renvoie la liste des scores ordinateur,joueur.
jeuwin():={
local deo,dem,po,pm,scoro,j;
deo:=char(rand(4)+65);
print("j'ai choisi le dé "+ deo);
InputStr("votre choix",dem);
scoro:=0;
for (j:=0;j<12;j++){
po:=rande(deo,rand(6));
pm:=rande(dem,rand(6));
print(po,pm);
if (po>pm) scoro:=scoro+1;
}
return [scoro,12-scoro];
}
:;
On peut aussi utiliser les listes A,B,C,D pour representer chaque dé, et le programme devient beaucoup plus simple (on n'a pas besoin de la fonction rande !!!!
jewin():={
local deo,dem,po,pm,scoro,j,A,B,C,D;
deo:=char(rand(4)+65);
print("j'ai choisi le dé "+ deo);
A:=[0,0,4,4,4,4];
B:=[1,1,1,5,5,5];
C:=[2,2,2,2,6,6];
D:=[3,3,3,3,3,3];
input("votre choix",dem);
scoro:=0;
deo:=expr(deo);
for (j:=0;j<12;j++){
po:=deo[rand(6)];
pm:=dem[rand(6)];
print(po,pm);
if (po>pm) scoro:=scoro+1;
}
return [scoro,12-scoro];
}
:;
On peut ensuite faire plusieurs parties. On tape :
score:=[0,0];
puis par exemple
score:=score+jewin()
plusieurs fois et on obtient les scores cumulés

Pour savoir quel dé il faut choisir, on cherche la probabilité que l'ordinateur gagne selon les différents choix :

  1. l'ordinateur a choisi le dé A, Il faut donc choisir le dé B pour gagner avec une probabilité de 2/3.
  2. l'ordinateur a choisi le dé B, Il faut donc choisir le dé C pour gagner avec une probabilité de 2/3.
  3. l'ordinateur a choisi le dé C, Il faut donc choisir le dé D pour gagner avec une probabilité de 2/3.
  4. l'ordinateur a choisi le dé D, Il faut donc choisir le dé A pour gagner avec une probabilité de 2/3.
Remarque
La relation "le dé N1 gagne le dé N2" n'est pas transitive, en effet:
le dé B gagne le dé A,
le dé C gagne le dé B,
le dé D gagne le dé C,
le dé A gagne le dé D,
De plus, le jeu est trompeur car le choix ne depend pas du score moyen de chaque dé, en effet :
le dé A fait en moyenne un score de 8/3,
le dé B fait en moyenne un score de 3,
le dé C fait en moyenne un score de 10/3,
le dé D fait en moyenne un score de 3 et pourtant le dé D l'emporte sur le dé C de moyenne 10/3 mais il perd contre le dé A qui n'a qu'une moyenne de 8/3 !


next up previous contents index
suivant: Des calculs de moyenne monter: Pour s'amuser avec les précédent: Les anniversaires de n   Table des matières   Index
Documentation de giac écrite par Renée De Graeve