Aller au contenu

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 pp se simule par le test « nombre tiré <p< p » : 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 nn 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 16\frac{1}{6}. 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

La variable aléatoire la plus simple est celle du pile ou face, qui prend deux valeurs seulement.3 En codant 1 pour pile et 0 pour face, on obtient une variable de Bernoulli.4 Les variables qui, comme celle-ci, prennent des valeurs bien séparées sont qualifiées de discrètes.3

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 [0 ;1][0\,;1], indépendantes.2

Cette phrase contient des idées à bien distinguer :

  • loi uniforme sur [0 ;1][0\,;1] : 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.
De l'ordinateur à la variable aléatoireSuite d'étapes pour simuler une variable aléatoire : tirer un nombre uniforme, comparer à des seuils, répéter, estimer.1Tirer Urandom() donne un nombre uniforme sur [0 ; 1]2ComparerUn test avec des seuils donne la valeur de X3RépéterUn nouvel appel à chaque épreuve, dans la boucle4EstimerFréquence ou moyenne sur un grand nombre N
  1. Tirer Urandom() donne un nombre uniforme sur [0 ; 1]
  2. ComparerUn test avec des seuils donne la valeur de X
  3. RépéterUn nouvel appel à chaque épreuve, dans la boucle
  4. EstimerFréquence ou moyenne sur un grand nombre N
De l'ordinateur à la variable aléatoire · Démarche générale d'une simulation

Simuler une épreuve de Bernoulli

Pour simuler un succès de probabilité pp, on compare un nombre tiré uniformément dans [0 ;1][0\,;1] à pp. Si U<pU<p, c'est un succès ; sinon, c'est un échec.

Démonstration · Pourquoi ça marche

L'événement {X=1}\{X=1\} est l'événement {U<p}\{U<p\}, c'est-à-dire que UU tombe dans l'intervalle [0 ;p[[0\,;p[, de longueur pp. Par la propriété de la loi uniforme, P(X=1)=p−0=pP(X=1)=p-0=p. Comme XX ne prend que les valeurs 0 et 1, P(X=0)=1−pP(X=0)=1-p. C'est bien la loi de Bernoulli de paramètre pp.

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.

Quelques variables et leur simulation
SituationVariableSimulation
Pile ou face équilibréBernoulli de paramètre 0,51 si random() < 0.5, sinon 0
Dé équilibréValeurs 1 à 6, chacune de probabilité 1/6floor(6*random()) + 1
Nombre de piles sur n lancersSomme de n variables de BernoulliBoucle for qui additionne n tests
Quelques variables et leur simulation · Correspondance entre situation et programme

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

★☆☆Environ 10 min

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 GG le gain algébrique.

  1. Écris une fonction Python gain() qui simule GG à l'aide de random().
  2. Calcule l'espérance de GG.
  3. Que devrait renvoyer, approximativement, moyenne(gain, 100000) ?
Indice 1

Chaque valeur de GG correspond à deux faces sur six : quelle est sa probabilité ?

Indice 2

Cumule les seuils : 13\frac13, puis 23\frac23.

Voir la correction pas à pas
  1. Probabilités : P(G=3)=26=13P(G=3)=\frac{2}{6}=\frac13, P(G=0)=13P(G=0)=\frac13 et P(G=−2)=13P(G=-2)=\frac13.

  2. Fonction : on tire u = random(). Si u < 1/3 on renvoie 3 ; sinon si u < 2/3 on renvoie 0 ; sinon on renvoie -2.

  3. Espérance : E(G)=3×13+0×13+(−2)×13=13E(G)=3\times\frac13+0\times\frac13+(-2)\times\frac13=\frac13.

  4. Interprétation : la moyenne simulée sur 100 000 parties doit être voisine de 13≈0,33\frac13\approx 0{,}33, sans valoir exactement cette valeur.

L'espérance est 13≈0,333\frac13\approx 0{,}333 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é

★★☆Environ 15 min

On lance trois fois de suite un dé équilibré à six faces. On s'intéresse à l'événement AA : « on obtient au moins un six ».

  1. Écris une fonction experience() qui simule les trois lancers et renvoie True si AA est réalisé.
  2. Explique comment estimer P(A)P(A) avec 20 000 répétitions.
  3. Calcule la valeur exacte de P(A)P(A) et compare-la avec une estimation de 0,4190{,}419.
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
  1. Fonction : on répète trois fois floor(6*random())+1 et on renvoie True dès qu'une valeur vaut 6, False si aucune ne vaut 6.

  2. Estimation : on appelle estimer(experience, 20000), qui compte les réalisations de AA et divise par 20 000.

  3. Probabilité du contraire : à chaque lancer, la probabilité de ne pas obtenir 6 est 56\frac56. Pour trois lancers indépendants, on obtient (56)3\left(\frac56\right)^3.

  4. Calcul : P(A)=1−(56)3=91216≈0,4213P(A)=1-\left(\frac56\right)^3=\frac{91}{216}\approx 0{,}4213.

  5. Comparaison : l'estimation 0,4190{,}419 est proche de 0,42130{,}4213 ; l'écart de quelques millièmes est normal pour une simulation.

La probabilité exacte est 91216≈0,421\frac{91}{216}\approx 0{,}421. La simulation donne une valeur voisine, sans jamais la certifier.

Exercice 3 Simuler une somme de Bernoulli

★★★Environ 15 min

Un lanceur réussit un tir avec la probabilité 0,30{,}3, les tirs étant indépendants. On note SS le nombre de tirs réussis sur 10 tirs.

  1. Écris une fonction tirs() qui simule SS en utilisant une boucle.
  2. Quelle est l'espérance de SS ?
  3. 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 0,30{,}3.

Indice 2

L'espérance d'une loi binomiale B(n ;p)\mathcal{B}(n\,;p) vaut npnp.

Voir la correction pas à pas
  1. Fonction : on initialise s = 0, puis dans une boucle de 10 tours on tire random() et on ajoute 1 à s lorsque le tirage est inférieur à 0,3. On renvoie s.

  2. Loi : SS est la somme de 10 variables de Bernoulli indépendantes de paramètre 0,30{,}3, donc SS suit B(10 ;0,3)\mathcal{B}(10\,;0{,}3).

  3. Espérance : E(S)=10×0,3=3E(S)=10\times 0{,}3=3.

  4. Interprétation : une seule exécution donne une réalisation de SS, qui peut très bien valoir 5. Cela ne contredit pas E(S)=3E(S)=3, 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.

  1. Que renvoie, en théorie, un appel à random() en Python ?

  2. Quelle instruction simule une épreuve de Bernoulli de paramètre p=0,3p=0{,}3, avec succès codé 1 ?

  3. Une suite de valeurs produite par un programme est-elle parfaitement indépendante et de loi exacte ?

  4. Que renvoie floor(6 * random()) + 1 ?

  5. Dans une fonction qui simule nn épreuves de Bernoulli indépendantes, où faut-il écrire l'appel à random() ?

  6. On simule 10 lancers d'une pièce équilibrée et on compte les piles. Quelle est l'espérance du nombre de piles ?

  7. Une simulation de 10 000 parties donne une fréquence de 0,4210{,}421 pour un événement. Peut-on écrire « la probabilité vaut exactement 0,4210{,}421 » ?

  8. Pourquoi des lancers successifs d'une même pièce sont-ils modélisés par des variables iid ?

  9. On estime P(A)P(A) en répétant 5 000 fois une expérience, et AA se réalise 1 100 fois. Quelle est la fréquence observée ?

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é pp : c'est le bon test pour un succès de probabilité pp. Si tu écris random() > p, la probabilité du succès devient 1−p1-p. Vérifie toujours avec une valeur extrême : pour p=0,9p=0{,}9, 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

  1. 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.
  2. Cours de Simulation - Méthodes et Applications, Université de Bordeaux. Consulté le 6 novembre 2026.
  3. Variable aléatoire réelle, Wikipédia. Consulté le 6 novembre 2026.
  4. 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.

Signaler une erreur sur cette page

Je suis en…

Primaire

  • CP Bientôt
  • CE1 Bientôt
  • CE2 Bientôt
  • CM1 Bientôt
  • CM2 Bientôt

Collège

Lycée

Supérieur

  • BTS Bientôt
  • BUT Bientôt
  • Licence Bientôt
  • Prépas Bientôt

Sur cette page