Mathématiques (spécialité) · TerminaleBac
Simulation de variables aléatoires : cours de Terminale
Publié le 6 novembre 2026 · Mis à jour le 6 novembre 2026 · Signaler une erreur
L'essentiel
- Simuler, c'est faire fabriquer par l'ordinateur des valeurs qui se comportent comme une variable aléatoire donnée, à partir d'un générateur de nombres pseudo-aléatoires uniformes sur [0 ; 1].24
- Une épreuve de Bernoulli de paramètre se simule par le test « nombre tiré » : succès codé 1, échec codé 0.
- Des tirages répétés avec des appels indépendants du générateur donnent des variables indépendantes de même loi (iid) ; la somme de telles variables de Bernoulli suit une loi binomiale.4
- Estimer une probabilité par simulation : répéter l'expérience un grand nombre de fois et calculer la fréquence observée ; le résultat varie d'une exécution à l'autre.
- Une simulation ne démontre rien : elle donne une valeur approchée, à comparer avec le calcul exact quand il est possible.
Pourquoi simuler le hasard ?
Calculer une probabilité à la main est parfois facile : pour un dé équilibré, chaque face a une probabilité de . Mais dès que l'expérience devient compliquée (dix lancers, des conditions qui s'enchaînent, un jeu avec plusieurs règles), le calcul exact devient long, voire impossible à mener à la main. Une idée très puissante prend alors le relais : faire jouer l'ordinateur. Il répète l'expérience des milliers de fois en une fraction de seconde, et tu observes ce qui se passe.
C'est ce qu'on appelle la simulation. Dans ce cours, tu vas apprendre à écrire, en Python, des programmes qui reproduisent le comportement d'une variable aléatoire : une pièce, un dé, une répétition d'épreuves. Tu verras aussi ce qu'une simulation peut te dire, et ce qu'elle ne peut pas te dire.
Le programme de Terminale prolonge ce qui a été vu en classe de première sur les variables aléatoires. Il s'appuie sur les probabilités conditionnelles, l'indépendance et les variables aléatoires, et met au premier plan la répétition d'un nombre quelconque d'épreuves de Bernoulli qui se suivent.1 La simulation permet justement de manipuler cela concrètement.
Tu connais déjà les algorithmes de seuil et de dichotomie, ainsi que la méthode d'Euler : tu sais donc écrire une boucle while, une boucle for, une fonction, et utiliser une condition if. Ces outils suffisent ici.
Rappels : variable aléatoire et loi de Bernoulli
Le générateur aléatoire : la brique de départ
Un ordinateur ne lance pas de dé. Pour simuler le hasard, tous les langages proposent une fonction qui renvoie un nombre « au hasard » entre 0 et 1. En Python, c'est random() du module random. Des appels successifs à un tel algorithme fournissent des variables aléatoires de loi uniforme sur , indépendantes.2
Cette phrase contient des idées à bien distinguer :
- loi uniforme sur : le nombre tiré a autant de chances de tomber dans un intervalle que dans n'importe quel autre intervalle de même longueur ;
- indépendantes : le résultat d'un appel n'influence pas celui du suivant.
- Tirer Urandom() donne un nombre uniforme sur [0 ; 1]
- ComparerUn test avec des seuils donne la valeur de X
- RépéterUn nouvel appel à chaque épreuve, dans la boucle
- EstimerFréquence ou moyenne sur un grand nombre N
Simuler une épreuve de Bernoulli
Pour simuler un succès de probabilité , on compare un nombre tiré uniformément dans à . Si , c'est un succès ; sinon, c'est un échec.
Démonstration · Pourquoi ça marche
L'événement est l'événement , c'est-à-dire que tombe dans l'intervalle , de longueur . Par la propriété de la loi uniforme, . Comme ne prend que les valeurs 0 et 1, . C'est bien la loi de Bernoulli de paramètre .
Simuler une variable à plusieurs valeurs
Le lancer d'un dé équilibré à six faces est un exemple classique de variable que l'on modélise facilement : chaque lancer se fait dans les mêmes conditions, avec le même dé.4 Voyons comment le simuler, puis comment généraliser à une loi quelconque.
| Situation | Variable | Simulation |
|---|---|---|
| Pile ou face équilibré | Bernoulli de paramètre 0,5 | 1 si random() < 0.5, sinon 0 |
| Dé équilibré | Valeurs 1 à 6, chacune de probabilité 1/6 | floor(6*random()) + 1 |
| Nombre de piles sur n lancers | Somme de n variables de Bernoulli | Boucle for qui additionne n tests |
Répéter des épreuves : variables indépendantes et de même loi
Le pile ou face répété est l'exemple type : chaque lancer est représenté par une variable (0 pour face, 1 pour pile), et toutes suivent la même loi de Bernoulli. Comme les lancers se succèdent sans s'influencer, les variables sont indépendantes.4 Il en va de même pour le dé ou pour un tirage avec remise dans une urne : chaque tirage se fait dans les mêmes conditions, et la remise garantit que les tirages ne dépendent pas des précédents.4
Dit simplement, deux variables sont indépendantes quand savoir ce que vaut la première ne change rien à ce que l'on peut attendre de la seconde.4 Dans un programme, on obtient cette indépendance en faisant un nouvel appel à random() à chaque répétition.
Estimer une probabilité ou une moyenne par simulation
La simulation devient vraiment utile quand on la répète pour estimer une grandeur. C'est le principe des méthodes de type Monte-Carlo, qui reposent sur des variables iid : il faut donc savoir en produire par ordinateur.4
Erreurs fréquentes et conseils de rédaction
Exercices corrigés
Exercice 1 Simuler et calculer le gain d'un jeu
Un joueur lance un dé équilibré à six faces. Il gagne 3 € s'il obtient 1 ou 2, il ne gagne rien s'il obtient 3 ou 4, et il perd 2 € s'il obtient 5 ou 6. On note le gain algébrique.
- Écris une fonction Python
gain()qui simule à l'aide derandom(). - Calcule l'espérance de .
- Que devrait renvoyer, approximativement,
moyenne(gain, 100000)?
Indice 1
Chaque valeur de correspond à deux faces sur six : quelle est sa probabilité ?
Indice 2
Cumule les seuils : , puis .
Voir la correction pas à pas
Probabilités : , et .
Fonction : on tire
u = random(). Siu < 1/3on renvoie 3 ; sinon siu < 2/3on renvoie 0 ; sinon on renvoie -2.Espérance : .
Interprétation : la moyenne simulée sur 100 000 parties doit être voisine de , sans valoir exactement cette valeur.
L'espérance est euro par partie : le jeu est légèrement favorable au joueur, et une grande simulation donne une moyenne proche de cette valeur.
Exercice 2 Estimer puis calculer une probabilité
On lance trois fois de suite un dé équilibré à six faces. On s'intéresse à l'événement : « on obtient au moins un six ».
- Écris une fonction
experience()qui simule les trois lancers et renvoieTruesi est réalisé. - Explique comment estimer avec 20 000 répétitions.
- Calcule la valeur exacte de et compare-la avec une estimation de .
Indice 1
Pense à l'événement contraire : aucun six sur les trois lancers.
Indice 2
Les trois lancers sont indépendants : les probabilités se multiplient.
Voir la correction pas à pas
Fonction : on répète trois fois
floor(6*random())+1et on renvoieTruedès qu'une valeur vaut 6,Falsesi aucune ne vaut 6.Estimation : on appelle
estimer(experience, 20000), qui compte les réalisations de et divise par 20 000.Probabilité du contraire : à chaque lancer, la probabilité de ne pas obtenir 6 est . Pour trois lancers indépendants, on obtient .
Calcul : .
Comparaison : l'estimation est proche de ; l'écart de quelques millièmes est normal pour une simulation.
La probabilité exacte est . La simulation donne une valeur voisine, sans jamais la certifier.
Exercice 3 Simuler une somme de Bernoulli
Un lanceur réussit un tir avec la probabilité , les tirs étant indépendants. On note le nombre de tirs réussis sur 10 tirs.
- Écris une fonction
tirs()qui simule en utilisant une boucle. - Quelle est l'espérance de ?
- On exécute
tirs()une fois et on obtient 5. Cela contredit-il le résultat de la question 2 ? Justifie.
Indice 1
Chaque tir est une épreuve de Bernoulli de paramètre .
Indice 2
L'espérance d'une loi binomiale vaut .
Voir la correction pas à pas
Fonction : on initialise
s = 0, puis dans une boucle de 10 tours on tirerandom()et on ajoute 1 àslorsque le tirage est inférieur à 0,3. On renvoies.Loi : est la somme de 10 variables de Bernoulli indépendantes de paramètre , donc suit .
Espérance : .
Interprétation : une seule exécution donne une réalisation de , qui peut très bien valoir 5. Cela ne contredit pas , qui s'interprète comme une moyenne sur un grand nombre d'exécutions.
L'espérance vaut 3 tirs réussis. Une valeur isolée comme 5 est une réalisation possible de la variable ; seule une moyenne sur de nombreuses exécutions se compare à l'espérance.
Quiz
9 questions · correction immédiate · ton score reste sur ton appareil.
-
Les appels successifs à un tel générateur fournissent des variables de loi uniforme sur , indépendantes.2 Un entier de 1 à 6 s'obtient en transformant le tirage ; 0 ou 1 s'obtient avec un test de seuil. Une loi normale demande des méthodes plus avancées.
-
Le test
random() < 0.3est vrai avec la probabilité (longueur de ). Le test avec>donne une probabilité de , comme celui avec< 0.7. Enfin0.3 * random()ne renvoie pas 0 ou 1. -
Un algorithme ne peut pas fournir de valeurs parfaitement iid : on parle de valeurs pseudo-aléatoires.4 Croire le contraire est l'erreur tentante ; en pratique, l'écart est sans conséquence au lycée.
-
est dans , sa partie entière dans , et on ajoute 1. Aucun tirage ne donne 0 ou 7, et le résultat est entier, donc pas décimal.
-
Chaque épreuve exige un nouveau tirage pour que les variables soient indépendantes. Avec un tirage unique avant la boucle, toutes les épreuves donnent le même résultat et la somme vaut 0 ou .
-
Le nombre de piles est la somme de 10 variables de Bernoulli de paramètre , donc . Confondre avec 10 (le nombre de lancers) ou avec (le paramètre) est l'erreur fréquente.
-
Une fréquence observée est une estimation qui varie d'une exécution à l'autre ; elle ne prouve pas la valeur exacte. On écrit « voisin de ».
-
Les variables représentant chaque résultat suivent toutes la même loi de Bernoulli et, les lancers étant successifs, elles sont indépendantes.4 Une dépendance au lancer précédent serait justement le contraire de l'indépendance.
-
La fréquence est . Diviser par 1 100 ou multiplier par 5 000 sont des erreurs de lecture de la formule « réalisations divisées par répétitions ».
Les questions qu'on se pose
À quoi sert vraiment de simuler si on peut calculer ?
Le calcul exact n'est pas toujours possible ou rapide : plusieurs règles qui s'enchaînent, beaucoup d'épreuves, des conditions compliquées. La simulation donne alors une valeur approchée. Elle sert aussi à vérifier un calcul : si ton résultat théorique et la fréquence simulée sont très différents, l'un des deux est faux. Les méthodes de type Monte-Carlo reposent entièrement sur ce principe.4
Pourquoi mon programme donne-t-il un résultat différent à chaque exécution ?
Parce que les valeurs sont tirées au hasard : chaque exécution produit une réalisation différente. C'est le comportement attendu d'une variable aléatoire. Pour obtenir toujours le même résultat (par exemple pour déboguer), on fixe la graine avec random.seed(...). La graine d'un générateur doit être choisie au hasard et ne plus être modifiée ensuite quand on veut des données de qualité.4
Comment savoir si je dois mettre < ou > dans le test ?
Traduis ce que représente le test. random() < p est vrai avec la probabilité : c'est le bon test pour un succès de probabilité . Si tu écris random() > p, la probabilité du succès devient . Vérifie toujours avec une valeur extrême : pour , le succès doit arriver presque tout le temps.
Que faut-il savoir pour le Bac sur ce sujet ?
Il faut savoir lire et écrire de courtes fonctions Python : simuler une épreuve de Bernoulli, une somme de Bernoulli indépendantes, compter des succès, calculer une fréquence ou une moyenne. Il faut aussi savoir interpréter le résultat : une simulation donne une valeur approchée qui fluctue. Le programme indique par ailleurs que la justification de l'indépendance de variables données a priori n'est pas un objectif : elle est fournie par le modèle.1
Quelle est la différence entre une variable de Bernoulli et une variable binomiale ?
Une variable de Bernoulli décrit une épreuve avec deux issues (1 ou 0). Une variable binomiale compte les succès dans plusieurs épreuves de Bernoulli identiques et indépendantes. En programmation, la première est un simple test avec random(), la seconde est une boucle qui additionne plusieurs de ces tests.
Sources
Programme visé : Programme de Mathématiques - Terminale Générale (Spécialité) - Algorithmique et Programmation · Éduscol - Ministère de l'Éducation Nationale
- Programme de Mathématiques - Terminale Générale (Spécialité) - Algorithmique et Programmation, Éduscol - Ministère de l'Éducation Nationale. Consulté le 6 novembre 2026.
- Cours de Simulation - Méthodes et Applications, Université de Bordeaux. Consulté le 6 novembre 2026.
- Variable aléatoire réelle, Wikipédia. Consulté le 6 novembre 2026.
- Variables indépendantes et identiquement distribuées, Wikipédia. Consulté le 6 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.