next up previous contents index
suivant: Analyse du résultat monter: Les trois cartes bicolores précédent: Les trois cartes bicolores   Table des matières   Index

Simulation de n tirages

Pour écrire le programme de simulation, on numérote les cartes par 0,1 et 2 et on numérote les faces de chaque carte par 0 et 1 : par exemple la carte blanche a le numéro 0, la carte bicolore a le numéro 1, la carte rouge a le numéro 2 et la face blanche de la carte bicolore a le numéro 0.
Puis, on représente donc une carte par un vecteur qui est la couleur de ses faces :
par exemple la carte bicolore sera représentée par [B,R].
On peut aussi représenter le blanc par 0 et le rouge par 1 :
par exemple la carte bicolore sera représentée par [0,1].
On représente ainsi les cartes par un vecteur de deux composantes 0 ou 1 (0 et 1 désigne la couleur).
La variable C:=[[0,0],[0,1],[1,1]] représente donc les trois cartes :
[0,0] est la carte avec 2 faces blanches, [1,1] est la carte avec 2 faces rouges et [0,1] est la carte bicolore (on a supposé que la face blanche a le numéro 0 et la rouge le numéro 1).
C est donc une matrice et la valeur de C[a,b] (pour a=0,1,2 et b=0,1) représente la couleur de la face b de la carte a.
On tire une des cartes (a:=rand(3);),
puis on tire la face visible (b:=rand(2);).
Si b est la face visible, irem(b+1,2) c'est à dire b+1 mod 2 est la face cachée.
On simule n tirages qui donne comme coté visible une face rouge et on compte le nombre de cartes bicolores.
On écrit pour cela le programme cartebicolor :
cartebicolor(n):={
local C,a,b,nbi;
C:=[[0,0],[0,1],[1,1]];
//nbi est le nbre de cartes bicolores obtenus 
//qd la face visible est blanche
nbi:=0
for (k:=0;k<n;k++){
//on tire une carte
a:=rand(3);
// on tire une face (la face visible)
b:=rand(2);
// on refait le tirage si la face visible est blanche
while (C[a,b]==0) {
a:=rand(3);
b:=rand(2);
}
//la face visible est rouge, si la face cachee est blanche,
// nbi augmente de 1
if (C[a,irem(b+1, 2)]]==0) {
nbi:=nbi+1;
}
}
return(evalf(nbi/n));
};
On a obtenu :
cartebicolor(300)=0.34
cartebicolor(3000)=0.343666666667
cartebicolor(30000)=0.331533333333
next up previous contents index
suivant: Analyse du résultat monter: Les trois cartes bicolores précédent: Les trois cartes bicolores   Table des matières   Index
Documentation de giac écrite par Renée De Graeve