# Chapitre 5 Des programmes tres simples pour les Statistiques

## 5.1 Simulation du lancer d’une pièce

On veut tirer au hasard 0 ou 1 (par exemple 0=pile et 1=face).
On utilise la fonction `rand(n)` qui renvoie un entier aléatoire uniformément distribué dans `0.. n-1`.
On tape :

    tirage_piece():=rand(2);

## 5.2 Simulation d’un dé

On veut tirer au hasard un nombre entier dans [1.. 6].
On utilise la fonction `rand(n)` qui renvoie un entier aléatoire uniformément distribué dans `0.. n-1`.
On tape :

    tirage_de():=1+rand(6);

## 5.3 Simulation d’une variable aléatoire

On tire au hasard un nombre entier n de [0,1,2,3].
On tire au hasard un nombre réel m de [0,1[.
On veut simuler une variable aléatoire X qui vaut la partie entière de m*n.
On utilise la fonction `rand(p,n)` qui renvoie un réel aléatoire uniformément distribué dans `[p.. n[`.
On tape :

    X():={
    local n;
    n:=rand(4);
    return floor(n*rand(0,1));
    }

Quelle est la fonction de répartition de X ? X vaut :
0 si ((n=0 ou n=1) et m ∈ [0,1[) ou (n=2 et m ∈ [0,0.5[) ou (n=3 et m ∈ [0,1/3[)
1 si (n=2 et m ∈ [0.5,1[) ou (n=3 et m ∈ [1/3,2/3[)
2 si n=3 et m ∈ [2/3,1[
On a donc :
Proba(X=0)=1/4+1/4+1/4*1/2+1/4*1/3=17/24
Proba(X=1)=1/4*1/2+1/4*1/3=5/24
Proba(X=2)=1/4*1/3=1/12
On vérifie que l’on a : 17/24+5/24+1/12=1

## 5.4 Simulation d’une variable aléatoire

On tire au hasard un nombre entier n de [1,2,3].
On veut simuler une variable aléatoire Y qui vaut ∑j=1nj.
On tape :

    Y():={
    local n,j,x;
    n:=1+rand(3);
    x:=0;
    pour j de 1 jusque n faire
    x:=x+j;
    fpour;
    return x;
    }:;

Quelle est la fonction de répartition de Y ? Y vaut :
1 si n=1
3 si n=2
6 si n=3
On a donc :
Proba(X=1))=1/3
Proba(X=3))=1/3
Proba(X=6))=1/3
On aurait pu aussi simuler cette loi en tapant :

    Z():={
    local n;
    n:=rand(3);
    si n==0 alors return 1 fsi;
    return 3*n;
    }:;