Chargement de l'audio en cours
Plus

Plus

Le « problème des tiroirs »
P.392

Mode édition
Ajouter

Ajouter

Terminer

Terminer

TP / TICE 1


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 DE RÉSOLUTION 1
TABLEUR


1. Reproduire la feuille de calcul ci‑dessous dans un tableur.

modèle de la feuille de calcule - méthode de résolution 1

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.

Aide
On pourra utiliser la commande ALEA.ENTRE.BORNES.


4. On souhaite compter, à chaque essai, le nombre d’objets dans chaque tiroir. Compléter alors les lignes 8, 9 et 10.

Aide
On pourra utiliser la commande NB.SI.


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.
Voir les réponses
MÉTHODE DE RÉSOLUTION 2
PYTHON

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 nn valant initialement 00. 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=100m = 100 puis m=10000m = 10000. Interpréter les résultats obtenus.
Voir les réponses

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
Voir les réponses

Pour aller plus loin


Exercice
75
p. 404
.
Utilisation des cookies
En poursuivant votre navigation sans modifier vos paramètres, vous acceptez l'utilisation des cookies permettant le bon fonctionnement du service.
Pour plus d’informations, cliquez ici.