\documentclass[10pt,aspectratio=169]{beamer}

% --- Thème ---
\usetheme[language=french]{Celestia}

\usepackage{tikz}
\usetikzlibrary{arrows.meta,calc,patterns}

\setbeamertemplate{frametitle continuation}{}

\subject{Mathématiques}
\title{Expérimentations et simulation}
\subtitle{QCM}
\author{Première spécialité}
\date{\today}

\begin{document}

\begin{frame}
    \titlepage
\end{frame}

% Q1 - Réponse en A
\begin{frame}[fragile]{Question 1 \textemdash{} Simuler un dé en Python}
    Quelle instruction Python simule le lancer d'un dé équilibré
à six faces (après \texttt{from random import randint}) ?\medskip
    \begin{itemize}
        \item[\alert<2>{A.}] \alert<2>{\texttt{randint(1, 6)}}
        \item[B.] \texttt{randint(0, 6)}
        \item[C.] \texttt{randint(1, 5)}
        \item[D.] \texttt{6 * randint(0, 1)}
    \end{itemize}
\end{frame}

% Q2 - Réponse en A
\begin{frame}[fragile]{Question 2 \textemdash{} Simuler une épreuve de Bernoulli}
    Après \texttt{from random import random}, quelle expression Python
vaut \texttt{True} avec la probabilité $0{,}3$ (simulation d'un
succès de probabilité $0{,}3$) ?\medskip
    \begin{itemize}
        \item[\alert<2>{A.}] \alert<2>{\texttt{random() < 0.3}}
        \item[B.] \texttt{random() > 0.3}
        \item[C.] \texttt{random() == 0.3}
        \item[D.] \texttt{randint(0, 3)}
    \end{itemize}
\end{frame}

% Q3 - Réponse en A
\begin{frame}[fragile]{Question 3 \textemdash{} Moyenne d'échantillon et espérance}
    On simule un échantillon de taille $n$ d'une variable
aléatoire $X$ et on calcule la moyenne $m$ des valeurs
obtenues. Quelle affirmation est correcte ?\medskip
    \begin{itemize}
        \item[\alert<2>{A.}] \alert<2>{$m$ varie d'un échantillon à l'autre, alors que $E(X)$
est un nombre fixe du modèle}
        \item[B.] $m = E(X)$ exactement, dès que $n \geq 30$
        \item[C.] $E(X)$ change à chaque simulation
        \item[D.] $m$ et $E(X)$ n'ont aucun lien
    \end{itemize}
\end{frame}

% Q4 - Réponse en A
\begin{frame}[fragile,allowframebreaks]{Question 4 \textemdash{} Une fonction moyenne en Python}
    Quelle fonction Python renvoie correctement la moyenne d'une
liste non vide \texttt{L} de nombres ?\medskip
    \begin{itemize}
        \item[A.]~\\
\begin{lstlisting}
def moyenne(L):
    return sum(L) / len(L)
\end{lstlisting}
        \item[B.]~\\
\begin{lstlisting}
def moyenne(L):
    return sum(L) / n
\end{lstlisting}
        \item[C.]~\\
\begin{lstlisting}
def moyenne(L):
    return len(L) / sum(L)
\end{lstlisting}
        \item[D.]~\\
\begin{lstlisting}
def moyenne(L):
    return sum(L) - len(L)
\end{lstlisting}
    \end{itemize}
\end{frame}

% Q4 - Réponse en A
\begin{frame}[fragile,allowframebreaks]{Question 4 \textemdash{} Une fonction moyenne en Python}
    Quelle fonction Python renvoie correctement la moyenne d'une
liste non vide \texttt{L} de nombres ?\medskip
    \begin{itemize}
        \item[\alert{A.}]~\\
\begin{lstlisting}
def moyenne(L):
    return sum(L) / len(L)
\end{lstlisting}
        \item[B.]~\\
\begin{lstlisting}
def moyenne(L):
    return sum(L) / n
\end{lstlisting}
        \item[C.]~\\
\begin{lstlisting}
def moyenne(L):
    return len(L) / sum(L)
\end{lstlisting}
        \item[D.]~\\
\begin{lstlisting}
def moyenne(L):
    return sum(L) - len(L)
\end{lstlisting}
    \end{itemize}
\end{frame}

% Q5 - Réponse en A
\begin{frame}[fragile]{Question 5 \textemdash{} Effet de la taille de l'échantillon}
    On compare des moyennes d'échantillons de taille $n = 100$
puis $n = 10\,000$ d'une même variable aléatoire. Qu'observe-t-on
typiquement ?\medskip
    \begin{itemize}
        \item[\alert<2>{A.}] \alert<2>{Les moyennes des grands échantillons sont plus resserrées
autour de l'espérance}
        \item[B.] Les moyennes fluctuent autant, quelle que soit la taille
        \item[C.] Les grands échantillons donnent des moyennes plus grandes
        \item[D.] Au-delà de $n = 1000$, la moyenne devient exactement
l'espérance
    \end{itemize}
\end{frame}

% Q6 - Réponse en A
\begin{frame}[fragile]{Question 6 \textemdash{} L'échelle $\dfrac{2\sigma}{\sqrt{n}}$}
    Pour diviser par $10$ l'ordre de grandeur
$\dfrac{2\sigma}{\sqrt{n}}$ des écarts entre moyenne
d'échantillon et espérance, par combien faut-il multiplier la
taille $n$ de l'échantillon ?\medskip
    \begin{itemize}
        \item[\alert<2>{A.}] \alert<2>{Par $100$}
        \item[B.] Par $10$
        \item[C.] Par $\sqrt{10}$
        \item[D.] Par $1000$
    \end{itemize}
\end{frame}

% Q7 - Réponse en A
\begin{frame}[fragile]{Question 7 \textemdash{} Répéter une expérience}
    Que fait l'instruction Python \texttt{for \_ in range(1000):} placée
au-dessus d'un bloc de code ?\medskip
    \begin{itemize}
        \item[\alert<2>{A.}] \alert<2>{Elle exécute le bloc $1000$ fois}
        \item[B.] Elle exécute le bloc jusqu'à obtenir $1000$
        \item[C.] Elle crée une liste de $1000$ zéros
        \item[D.] Elle exécute le bloc une fois avec $n = 1000$
    \end{itemize}
\end{frame}

% Q8 - Réponse en A
\begin{frame}[fragile]{Question 8 \textemdash{} Estimer une probabilité par simulation}
    Pourquoi simuler $10\,000$ fois une expérience pour estimer
la probabilité d'un événement ?\medskip
    \begin{itemize}
        \item[\alert<2>{A.}] \alert<2>{Parce que la fréquence observée sur un grand nombre de
répétitions approche la probabilité cherchée}
        \item[B.] Parce que la fréquence observée est exactement égale à la
probabilité
        \item[C.] Parce qu'une simulation remplace toute démonstration
        \item[D.] Parce que l'ordinateur produit du vrai hasard parfait
    \end{itemize}
\end{frame}

% Q9 - Réponse en A
\begin{frame}[fragile]{Question 9 \textemdash{} La proportion des cas dans $\left[\mu - \frac{2\sigma}{\sqrt{n}}\,;\,\mu + \frac{2\sigma}{\sqrt{n}}\right]$}
    On simule $N$ échantillons de taille $n$ d'une variable
d'espérance $\mu$ et d'écart-type $\sigma$, et on calcule
chaque moyenne $m$. Quelle proportion des cas vérifie
typiquement $|m - \mu| \leq \dfrac{2\sigma}{\sqrt{n}}$ ?\medskip
    \begin{itemize}
        \item[\alert<2>{A.}] \alert<2>{Environ $95\ \%$}
        \item[B.] Environ $50\ \%$
        \item[C.] Exactement $100\ \%$
        \item[D.] Environ $5\ \%$
    \end{itemize}
\end{frame}

% Q10 - Réponse en A
\begin{frame}[fragile,allowframebreaks]{Question 10 \textemdash{} Lire une simulation complète}
    Que renvoie cette fonction ?

\begin{lstlisting}
from random import randint
def f(n):
    c = 0
    for _ in range(n):
        if randint(1, 6) == 6:
            c = c + 1
    return c / n
\end{lstlisting}\medskip
    \begin{itemize}
        \item[A.] La fréquence de « 6 » observée sur $n$ lancers de dé
simulés
        \item[B.] Le nombre de « 6 » obtenus
        \item[C.] La probabilité exacte $\dfrac{1}{6}$
        \item[D.] Toujours $0$, car \texttt{c} est initialisé à $0$
    \end{itemize}
\end{frame}

% Q10 - Réponse en A
\begin{frame}[fragile,allowframebreaks]{Question 10 \textemdash{} Lire une simulation complète}
    Que renvoie cette fonction ?

\begin{lstlisting}
from random import randint
def f(n):
    c = 0
    for _ in range(n):
        if randint(1, 6) == 6:
            c = c + 1
    return c / n
\end{lstlisting}\medskip
    \begin{itemize}
        \item[\alert{A.}] \alert{La fréquence de « 6 » observée sur $n$ lancers de dé
simulés}
        \item[B.] Le nombre de « 6 » obtenus
        \item[C.] La probabilité exacte $\dfrac{1}{6}$
        \item[D.] Toujours $0$, car \texttt{c} est initialisé à $0$
    \end{itemize}
\end{frame}

% Q11 - Réponse en A
\begin{frame}[fragile]{Question 11 \textemdash{} Modifier la simulation}
    Dans la fonction précédente, par quoi remplacer la condition
\texttt{randint(1, 6) == 6} pour estimer la fréquence d'un résultat
\textbf{pair} ?\medskip
    \begin{itemize}
        \item[\alert<2>{A.}] \alert<2>{\texttt{randint(1, 6) \% 2 == 0}}
        \item[B.] \texttt{randint(1, 6) == 2, 4, 6}
        \item[C.] \texttt{randint(1, 6) \% 2 == 1}
        \item[D.] \texttt{randint(2, 6)}
    \end{itemize}
\end{frame}

% Q12 - Réponse en A
\begin{frame}[fragile]{Question 12 \textemdash{} Conclure prudemment d'une simulation}
    On simule $100$ lancers d'une pièce supposée équilibrée et
on observe une fréquence de pile de $0{,}56$. Peut-on
conclure que la pièce est truquée ?\medskip
    \begin{itemize}
        \item[\alert<2>{A.}] \alert<2>{Non : pour $n = 100$, un écart de $0{,}06$ est dans la
fluctuation normale d'échantillonnage}
        \item[B.] Oui : $0{,}56 \neq 0{,}5$, donc la pièce est déséquilibrée
        \item[C.] Oui, si la simulation a été faite en Python
        \item[D.] Non : une simulation ne donne jamais aucune information
    \end{itemize}
\end{frame}

\begin{frame}[standout]{}
    Fin de l'évaluation
\end{frame}

\end{document}
