Co-construisez les ressources dont vous avez besoin et partagez votre expertise pédagogique.
Rappels de première
Algèbre et géométrie
Ch. 1
Combinatoire et dénombrement
Ch. 2
Vecteurs, droites et plans de l’espace
Ch. 3
Orthogonalité et distances dans l’espace
Analyse
Ch. 4
Suites
Ch. 5
Limites de fonctions
Ch. 6
Continuité
Ch. 7
Compléments sur la dérivation
Ch. 8
Logarithme népérien
Ch. 9
Fonctions trigonométriques
Ch. 10
Primitives - Équations différentielles
Ch. 11
Calcul intégral
Probabilités
Ch. 12
Loi binomiale
Ch. 13
Sommes de variables aléatoires
Ch. 14
Loi des grands nombres
Annexes
Exercices transversaux
Grand Oral
Apprendre à démontrer
Cahier d'algorithmique et de programmation
Chapitre 13
TP INFO 1
Le « problème des tiroirs »
Énoncé
On dispose d'une commode contenant trois tiroirs et de trois objets qu'on veut ranger dans ce meuble.
On suppose que chaque tiroir peut contenir autant d'objets que l'on souhaite.
On dispose les objets aléatoirement dans les tiroirs de la commode.
Objectif
On cherche à connaître une estimation du nombre moyen de tiroirs restés vides à l'issue de la distribution à l'aide d'une des deux méthodes.
Méthode 1
Tableur
1. Reproduire la feuille de calcul ci‑dessous dans un tableur.
Le zoom est accessible dans la version Premium.
2.
On souhaite réaliser 100 fois l'expérience.
Compléter la ligne 1.
3.
Les objets sont distribués au hasard dans les
trois tiroirs. Simuler, pour chaque objet, le tiroir
choisi à chaque essai.
On pourra utiliser la commande ALEA.ENTRE.BORNES.
Aide
4.
On souhaite compter, à chaque essai, le nombre
d'objets dans chaque tiroir. Compléter alors les
lignes 8, 9 et 10.
On pourra utiliser la commande NB.SI.
Aide
5.
Compléter alors la ligne 12, donnant le nombre de
tiroirs vides parmi les trois tiroirs de la commode.
6.
En déduire le nombre moyen de tiroirs vides à
l'issue des 100 répétitions de l'expérience.
Méthode 2
Python
On considère le programme suivant.
from random import *
def tiroirs():
L = [0,0,0]
for i in range(3):
k = randint(0,2)
L[k]=L[k]+1
return L
def nombre_tiroirs_vides():
L = tiroirs()
n = 0
for k in range(3):
if L[k]==0:
n=n+1
return n
def moyenne_pour_m_essais(m):
S = 0
for k in range(m):
S = S + nombre_tiroirs_vides()
return S/m
1.
En ligne 4, la liste définie correspond au nombre
d'objets présents dans les tiroirs 1, 2 et 3 au début
de l'expérience. Expliquer la suite du programme.
2.
On considère la fonction nombre_tiroirs_vides.
En ligne 11, on définit une liste L donnant la répartition
du nombre d'objets dans chacun des trois
tiroirs et en ligne 12, on définit une variable de
comptage n valant initialement 0.
Expliquer la suite du programme.
3.
On s'intéresse maintenant à la fonction moyenne_pour_m_essais.
Expliquer cette fonction puis tester le programme
complet pour les valeurs m=100 puis m=10000.
Interpréter les résultats obtenus.