
\begin{enumerate}
\item $X$ suit la loi binomiale de paramètres $n$ (on répète la même expérience $n$ fois de manière indépendante) et $p=\dfrac{3}{6}=\dfrac{1}{2}$ (la probabilité d'obtenir un multiple de 2 à chaque lancer).

\item D'après le cours,
\[
E(X)=np = \dfrac{1}{2}n
\]
et
\[
\sigma(X)=\sqrt{np(1-p)}=\dfrac{1}{2}\sqrt{n}.
\]

\item La fonction dûment complétée est la suivante:
\begin{python}
from random import randint

def simul(n):
    total = 0
    for k in range(n):
        D = randint(1,6)
        if D % 2 == 0:
            total = total + 1

    return total
\end{python}

\item Pour la fonction \texttt{diff(n)} on fait appel à la fonction \texttt{simul(n)}:
\begin{python*}
def diff(n):
    return abs( simul(n) - n/2 )
\end{python*}

\item On peut considérer la fonction suivante:
\begin{python}
def echant(N,n):
    somme = 0
    for k in range(N):
        somme = somme + diff(n)

    return somme / N
\end{python}
On obtient par exemple:
\begin{console}
>>> echant(10000,1000)
12.5797
\end{console}

\item Il s'agit ici de faire appel $N$ fois à la fonction \texttt{simul(1000)}, qui retourne une valeur $m$, et à chaque fois, de vérifier si $|E(X)-m|\leqslant\dfrac{2\sigma(X)}{\sqrt{\numprint{1000}}}$, auquel cas on devra incrémenter un compteur (que l'on va nommer \texttt{somme}).

À l'issue de ces $N$ simulations, on calculera $\dfrac{\texttt{compteur}}{N}\times100$ qui sera le pourcentage de cas où l'on a obtenu une différence plus petite que la borne supérieure $\dfrac{2\sigma(X)}{\sqrt{\numprint{1000}}}$.

On obtient alors la fonction suivante:

\begin{python}
def proportion(N):
    n = 1000
    mu = 500
    sigma = 250
    borne_sup = 2*sigma/(n**0.5)

    compteur = 0
    for k in range(N):
        if abs( mu - simul(n) ) <= borne_sup:
            compteur = compteur + 1

    return compteur * 100 / N
\end{python}

Cela donne par exemple:
\begin{console}
>>> proportion(1000)
65.8
>>> proportion(1000)
67.5
>>> proportion(1000)
68.5
>>> proportion(1000)
67.9
\end{console}
\end{enumerate}
