Adloun

enseignement scientifique (première) · Chapitre 16 · Exercice supplémentaire

Simuler pour vérifier

Phénomènes aléatoires · niveau 2

Énoncé

On veut vérifier par simulation le résultat de l'exercice 6, où quatre feux sont verts avec probabilité 0,4 chacun.


import random

def un_trajet(p, n):
    """Compte les feux verts sur un trajet de n feux."""
    verts = 0
    for _ in range(n):
        if random.random() < p:
            verts = verts + 1
    return verts

def simulation(nb_trajets, p, n):
    compte = [0, 0, 0, 0, 0]
    for _ in range(nb_trajets):
        compte[un_trajet(p, n)] = compte[un_trajet(p, n)] + 1
    return [c / nb_trajets for c in compte]

print(simulation(100000, 0.4, 4))
  • Le programme contient une erreur qui fausse complètement le résultat. Laquelle ?
  • Corriger la ligne fautive.
  • Une exécution correcte affiche [0.1290, 0.3462, 0.3452, 0.1538, 0.0258]. Comparer aux probabilités exactes.
  • Pourquoi les valeurs affichées ne sont-elles pas exactement les probabilités théoriques ? Que se passerait-il avec 100 trajets seulement ?

Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.

100 % gratuit

Cherche cet exercice avec le tuteur

Commencer avec le tuteur, sans compte

Sans compte : le cours, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Chercher avec le tuteur →