Mathématiques (spécialité) · TerminaleBac
Simulation de variables aléatoires : exercices de Terminale
Publié le 6 novembre 2026 · Mis à jour le 6 novembre 2026 · Signaler une erreur
L'essentiel
- Simuler une variable aléatoire, c'est produire par programme des valeurs qui se comportent comme les résultats d'une expérience aléatoire de loi donnée.
- Un appel à un générateur de nombres aléatoires fournit une valeur de loi uniforme sur [0, 1] ; en comparant ce nombre à une probabilité p, on simule une loi de Bernoulli.
- Répéter l'expérience de façon indépendante et dans les mêmes conditions donne des variables iid ; c'est le cas du tirage avec remise, pas du tirage sans remise.
- Les valeurs produites sont pseudo-aléatoires : fixer la graine du générateur permet de refaire exactement la même simulation.
- Pour contrôler une simulation, on compare la fréquence observée sur beaucoup de répétitions à la probabilité calculée.
Comment utiliser ces exercices
Ces exercices t'entraînent à passer d'une situation aléatoire à un programme, puis du programme à un calcul de probabilité. Le programme de Terminale insiste sur l'étude de la succession d'un nombre quelconque de répétitions indépendantes d'une même épreuve, en s'appuyant sur les probabilités conditionnelles, l'indépendance et les variables aléatoires 1. La simulation est l'outil qui permet de vérifier ce que le calcul annonce.
Cherche chaque exercice sur papier avant d'ouvrir les indices. Les indices sont classés du plus léger au plus précis ; la correction détaille une action par étape.
Les exercices
Exercice 1 Simuler une pièce truquée
On suppose que la fonction random() renvoie un nombre de loi uniforme sur 2. On veut simuler une variable de loi de Bernoulli de paramètre , c'est-à-dire avec la probabilité et sinon.
- Écris une fonction Python
bernoulli()qui renvoie la valeur de . - On exécute 1000 fois cette fonction, de façon indépendante. Quel est le nombre de que l'on s'attend à obtenir ?
Indice 1
Pour qu'un nombre uniforme sur [0 ; 1] ait une probabilité 0,3 d'être sous un seuil, quel seuil faut-il prendre ?
Indice 2
Le nombre de 1 attendu sur 1000 répétitions se calcule comme une proportion de 1000.
Voir la correction pas à pas
On choisit le seuil : pour un nombre uniforme sur , la probabilité d'être inférieur à vaut . Le seuil est donc .
On écrit la fonction :
def bernoulli():puisif random() < 0.3: return 1etelse: return 0.On calcule le nombre attendu de 1 sur les répétitions : chacune donne avec la probabilité , donc on attend valeurs égales à .
On précise que ce nombre est une valeur attendue : une simulation réelle donnera un résultat proche de , rarement exactement .
Simuler une loi de Bernoulli de paramètre revient à comparer un nombre uniforme sur à . Sur 1000 répétitions on attend environ succès.
Exercice 2 Changer d'intervalle
Soit un nombre fourni par random(), de loi uniforme sur 2. On définit avec et .
- Entre quelles valeurs est-il toujours situé ?
- Le tirage de
random()a donné . Quelle valeur de obtient-on ?
Indice 1
Cherche la valeur de Y lorsque U vaut 0, puis lorsque U vaut 1.
Indice 2
Remplace simplement a, b et U par leurs valeurs dans la formule.
Voir la correction pas à pas
On calcule pour : .
On calcule pour : . Comme augmente avec , il reste entre et .
On remplace par : .
On calcule : , donc .
Une transformation affine d'un nombre de permet de placer les valeurs simulées dans l'intervalle de son choix. Ici .
Exercice 3 Pourquoi la simulation change-t-elle à chaque exécution ?
Léa exécute son programme de simulation deux fois de suite et obtient des moyennes différentes. Son camarade Hugo lui conseille de fixer la graine du générateur au début du programme.
- Explique pourquoi Léa n'obtient pas deux fois la même suite de valeurs.
- Que change le fait de fixer la graine ?
- Pourquoi ne peut-on pas parler de valeurs parfaitement aléatoires ?
Indice 1
Les valeurs ne sont pas tirées au hasard au sens physique : elles sont fabriquées par un algorithme.
Indice 2
Pense à ce qui détermine le point de départ de cet algorithme.
Voir la correction pas à pas
Les valeurs produites par un programme sont pseudo-aléatoires : elles viennent d'un algorithme et non d'un phénomène physique, si bien que des valeurs parfaitement iid sont impossibles à obtenir 4.
Sans graine imposée, le point de départ de l'algorithme est choisi différemment à chaque exécution : la suite de valeurs change, donc les moyennes aussi.
Une graine fixée impose le même point de départ : le programme redonne exactement les mêmes valeurs. C'est utile pour vérifier un programme ou comparer deux versions.
Le choix de la graine doit rester aléatoire à l'origine et ne plus changer ensuite, quand on veut des données qui imitent un échantillon 4.
Les écarts entre deux exécutions viennent du point de départ du générateur. Fixer la graine rend une simulation reproductible, mais ne la rend pas plus aléatoire.
Exercice 4 Le jeu du dé et le gain moyen
Un joueur lance un dé équilibré à six faces. Il gagne € s'il obtient un six et perd € sinon : on définit ainsi une variable aléatoire de gain 3.
- Donne la loi de .
- Calcule l'espérance de .
- Le joueur répète le jeu un très grand nombre de fois. Vers quelle valeur doit tendre son gain moyen par partie, dans une simulation ?
Indice 1
G prend deux valeurs : 1 et -10. Quelle est la probabilité d'obtenir un six avec un dé équilibré ?
Indice 2
L'espérance est la somme des valeurs multipliées par leurs probabilités.
Voir la correction pas à pas
Valeurs de : avec un six, sinon. Le dé est équilibré, donc et .
On écrit l'espérance : .
On calcule : .
Valeur approchée : €. Dans une simulation sur de nombreuses parties, la moyenne des gains doit se rapprocher de cette valeur : le jeu est très défavorable au joueur.
L'espérance prévoit le comportement moyen de la simulation : environ € par partie.
Exercice 5 Somme de deux dés
On simule la somme de deux dés équilibrés lancés de façon indépendante. Chaque dé est simulé par randint(1, 6).
- Écris une fonction Python
somme()qui renvoie . - Écris un programme qui estime sur répétitions.
- Calcule la valeur théorique de pour comparer avec ta simulation.
Indice 1
Il faut deux appels indépendants à randint, et une addition.
Indice 2
Pour la valeur théorique, compte les couples (dé 1, dé 2) dont la somme vaut 7 parmi les 36 couples équiprobables.
Voir la correction pas à pas
Fonction :
def somme(): return randint(1,6) + randint(1,6). Les deux appels donnent des lancers indépendants, comme deux lancers successifs d'un même dé 4.Estimation : on initialise
c = 0, puis on répèteNfois :if somme() == 7: c = c + 1. À la fin, la fréquence estc / N.Valeur théorique : les couples de somme sont , soit couples sur .
Donc . La fréquence de la simulation doit être proche de cette valeur.
La fréquence obtenue sur 10 000 répétitions doit se situer autour de . Un écart important signalerait une erreur de programme.
Exercice 6 Avec ou sans remise
Une urne contient boules rouges et boules bleues, indiscernables au toucher. On tire deux boules l'une après l'autre.
- On remet la première boule dans l'urne avant le second tirage. Les deux tirages sont-ils des variables iid ? Justifie.
- On ne remet pas la première boule. Calcule la probabilité d'obtenir deux boules rouges.
- Compare avec la probabilité obtenue avec remise.
Indice 1
Avec remise, l'urne retrouve le même contenu avant le second tirage.
Indice 2
Sans remise, la composition de l'urne change après le premier tirage : utilise une probabilité conditionnelle.
Voir la correction pas à pas
Avec remise, chaque tirage a lieu dans la même situation, donc suit la même loi, et le résultat d'un tirage ne dépend pas des précédents : les tirages sont iid 4.
Avec remise : .
Sans remise : . Après un tirage rouge, il reste rouges parmi boules, donc .
On multiplie : .
Comparaison : . Sans remise, tirer une rouge rend une seconde rouge moins probable : les deux tirages ne sont plus indépendants.
Sans remise, la probabilité de deux boules rouges vaut ; avec remise, elle vaut . Un programme qui simule un tirage sans remise ne doit donc pas répéter deux fois le même tirage indépendant.
Exercice 7 Nombre de succès sur cinq épreuves
On répète fois, de façon indépendante, une épreuve de Bernoulli dont la probabilité de succès est . Chaque épreuve est simulée par random() < 0.2. Soit le nombre total de succès.
- Écris une fonction Python
nb_succes()qui renvoie . - Calcule .
- Explique pourquoi ton calcul utilise l'indépendance des épreuves.
Indice 1
La fonction contient une boucle de 5 tours qui additionne 1 quand l'épreuve réussit.
Indice 2
Combien de façons y a-t-il de choisir les 2 épreuves réussies parmi 5 ? Quelle est la probabilité d'une suite donnée ?
Voir la correction pas à pas
Fonction : on pose
s = 0, on répète 5 foisif random() < 0.2: s = s + 1, puisreturn s. Les appels successifs derandom()fournissent des nombres indépendants 2.Nombre de suites avec deux succès : .
Probabilité d'une suite donnée, par exemple SSEEE avec S pour succès et E pour échec : , grâce à l'indépendance qui permet de multiplier.
On additionne les suites : .
Sans indépendance, on ne pourrait pas multiplier les probabilités des épreuves successives pour obtenir celle d'une suite.
. Sur de nombreuses exécutions de nb_succes(), environ des résultats doivent valoir .
Exercice 8 Combien de répétitions faut-il ?
Une épreuve de Bernoulli a une probabilité de succès . On la répète de façon indépendante. On cherche le plus petit nombre de répétitions pour que la probabilité d'obtenir au moins un succès soit supérieure ou égale à .
- Exprime en fonction de la probabilité de n'avoir aucun succès, puis celle d'avoir au moins un succès.
- Écris un algorithme de seuil en Python qui renvoie le plus petit convenable.
- Donne la valeur de .
Indice 1
Aucun succès sur n épreuves indépendantes : on multiplie n fois la probabilité d'un échec.
Indice 2
L'algorithme de seuil utilise une boucle while qui augmente n tant que la condition n'est pas atteinte.
Voir la correction pas à pas
Un échec a pour probabilité . Par indépendance, .
Donc .
Algorithme :
n = 0,q = 1, puiswhile 1 - q < 0.99:on faitn = n + 1etq = q * 0.75. À la sortie, on renvoien.Résolution par le calcul : , car renverse l'inégalité.
Application numérique : . Le plus petit entier convenable est .
Contrôle : pour , , juste au-dessus de ; pour , .
Il faut répétitions. L'algorithme de seuil et le calcul avec le logarithme donnent la même réponse, ce qui permet de se contrôler.
Exercice 9 Estimer une espérance par simulation
On considère le jeu de l'exercice sur le dé : gain de € pour un six, perte de € sinon 3. On simule parties indépendantes et on note la moyenne des gains obtenus.
- Écris une fonction
gain()puis un programme qui calcule pour . - Un élève obtient . Ce résultat est-il cohérent avec l'espérance ?
- Un autre élève obtient . Quelle erreur de programme peut expliquer cela ?
Indice 1
L'espérance du gain vaut -49/6, soit environ -8,17 €.
Indice 2
Une inégalité inversée dans le test du six change la probabilité de gagner.
Voir la correction pas à pas
Fonction :
def gain():puisif randint(1,6) == 6: return 1etelse: return -10.Programme :
total = 0, on répèteNfoistotal = total + gain(), puisM = total / N.Cohérence : et en est très proche. Avec 100 000 parties indépendantes et identiques, la moyenne se stabilise près de l'espérance 4.
Valeur : si l'on gagne avec la probabilité au lieu de , l'espérance devient . L'erreur probable est un test inversé, par exemple
if randint(1,6) != 6: return 1ouif randint(1,6) > 1: return 1: le joueur gagne alors quand il n'obtient pas six.Méthode de contrôle : calculer d'abord l'espérance théorique, puis relire la condition du
ifet la gestion du compteur avant de lancer d'autres simulations.
Une moyenne simulée sur beaucoup de parties doit rester proche de l'espérance calculée. Un résultat très éloigné, comme , est un signal d'erreur dans le programme ou dans le calcul.
Les questions qu'on se pose
Que faire quand ma simulation donne un résultat différent de mon calcul ?
Un petit écart est normal : la simulation donne une fréquence, qui varie d'une exécution à l'autre, alors que le calcul donne une probabilité exacte. Augmente le nombre de répétitions pour voir l'écart diminuer. Si l'écart reste grand, cherche une erreur dans le test (< au lieu de >), dans le seuil, ou dans l'indépendance des tirages. Les valeurs simulées sont pseudo-aléatoires : des valeurs parfaitement iid restent un idéal impossible à atteindre 4.
Comment savoir si deux tirages sont indépendants dans un exercice ?
Demande-toi si le résultat du premier tirage change les conditions du second. Un lancer de dé, de pièce, ou un tirage avec remise dans une urne laisse la situation identique : les variables sont indépendantes 4. Un tirage sans remise modifie la composition de l'urne : il faut alors utiliser des probabilités conditionnelles, comme dans l'exercice sur l'urne.
Quelle est la différence entre simuler et calculer une probabilité ?
Calculer donne une valeur exacte à partir d'un modèle. Simuler répète l'expérience par programme et fournit une fréquence qui s'en approche. La simulation sert à vérifier un calcul ou à étudier une situation trop compliquée à calculer à la main ; elle ne le remplace pas à l'examen quand on te demande une valeur exacte.
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.