Lycée   >   Terminale   >   Mathématiques complémentaires   >   Les expériences aléatoires

Les expériences aléatoires

  • Fiche de cours
  • Quiz
  • Profs en ligne
Objectifs
  • Générer aléatoirement un nombre entier à l’aide de la fonction randint(a,b).
  • Générer aléatoirement un nombre décimal à l’aide de la fonction uniform(a,b).
  • Simuler une expérience aléatoire à partir de la génération aléatoire de nombres.
Points clés
  • En programmation, la simulation d’une expérience aléatoire repose sur la génération aléatoire de nombres.
    Par exemple, pour simuler le lancer d’un dé équilibré à 6 faces, il suffit de générer aléatoirement un nombre entier compris entre 1 et 6. Ou, pour simuler le lancer d’une pièce de monnaie équilibrée, il suffit de générer aléatoirement 0 ou 1 (0 pour « pile », 1 pour « face »).
  • Pour générer aléatoirement un nombre entier compris entre a et b, il suffit de charger le module random avec la commande from random import* et d’utiliser la fonction prédéfinie randint(a,b).
  • Pour générer aléatoirement un nombre décimal compris entre a et b, il suffit de charger le module random avec la commande from random import* et d’utiliser la fonction prédéfinie uniform(a,b).
Pour bien comprendre
  • Variables numériques
  • Affectation d’une variable
  • Instruction de sortie
  • Instruction if
  • Boucle for
  • Boucle while 
  • Fonction prédéfinie
1. Génération aléatoire d'un nombre
a. Les expériences aléatoires

En programmation, la simulation d’une expérience aléatoire repose sur la génération aléatoire de nombres.
Par exemple, pour simuler le lancer d’un dé équilibré à 6 faces, il suffit de générer aléatoirement un nombre entier compris entre 1 et 6. Ou, pour simuler le lancer d’une pièce de monnaie équilibrée, il suffit de générer aléatoirement 0 ou 1 (0 pour « pile », 1 pour « face »).

b. Rappel sur les fonctions prédéfinies

Par défaut, un langage de programmation ne peut effectuer que des opérations élémentaires (addition, soustraction…).

Pour déterminer, par exemple, l’arrondi d’un nombre, il faudrait au préalable rédiger un programme capable de donner cet arrondi. Ce serait long et fastidieux, d'autant que l’arrondi est une opération courante en mathématiques.

Pour simplifier la programmation, une liste de programmes a été prédéfinie. Ainsi, pour appeler le programme donnant l’arrondi, on utilise la fonction round(a). Une fonction prédéfinie est un objet informatique qui appelle un programme déjà existant.
Fonction Description Exemple
round(a) Arrondi de a à l’entier le plus proche
round(a,b) Arrondi de a avec b chiffres après la virgule
min(a,b) Plus petit des nombres a et b
max(a,b) Plus grand des nombres a et b
c. Génération d'un nombre entier
Pour générer aléatoirement un nombre entier compris entre a et b, il suffit de charger le module random avec la commande from random import* et d’utiliser la fonction prédéfinie randint(a,b).
Exemple 1
Pour simuler le lancer d’un dé équilibré à 6 faces, on peut utiliser le programme suivant :
L1 : On importe le module random.
L2 : On affiche un nombre entier compris entre 1 et 6, généré de façon aléatoire.
Exemple 2
De la même façon, on peut simuler le lancer d’une pièce de monnaie équilibrée (0 pour « pile », 1 pour « face ») :
L1 : On importe le module random.
L2 : On affiche un nombre entier compris entre 0 et 1, généré de façon aléatoire.
Remarque
Avec une boucle, on peut générer plusieurs expériences de façon répétée.
d. Génération d'un nombre décimal
Pour générer aléatoirement un nombre décimal compris entre a et b, il suffit de charger le module random avec la commande from random import* et d’utiliser la fonction prédéfinie uniform(a,b).
Exemple
On génère aléatoirement un nombre décimal compris entre 0 et 1 de la façon suivante :
L1 : On importe le module random.
L2 : On affiche un nombre décimal compris entre 0 et 1, généré de façon aléatoire.
Remarque
Cette fonction est utile pour simuler des expériences dont les valeurs sont continues. Si un joueur lance une balle sans viser sur un terrain d’une longueur maximale de 10 m, la balle peut donc arriver à une distance comprise dans l’intervalle [0 ; 10].
2. Exemples de programmes
a. Expériences répétées avec une boucle for

On peut simuler une série de 10 « pile » (1) ou « face » (0).

L1 : On importe le module random.
L2, L3 : On génère 10 fois de suite des 0 et des 1.

On peut modifier le programme pour afficher le nombre de « pile » obtenus :

L1 : On importe le module random.
L2 : On initialise le nombre de « pile » obtenus à 0.
L3, L4, L5 : On génère 10 nombres entiers 0 ou 1.
Si on obtient 1, on augmente le nombre de « pile » de 1. 
L6 : On affiche le nombre de « pile » obtenus à la fin.
b. Expériences répétées avec une boucle while

On peut écrire un programme qui s’arrête dès que le premier « pile » est obtenu :

L1 : On importe le module random.
L2 : On initialise face_obtenue à 0 (« face »).
L3, L4 : Tant que face_obtenue correspond à « face », on génère un autre nombre entier 0 ou 1. Dès qu’on obtient 1 (« pile »), la boucle s’arrête.
L5 : print(face_obtenue) affiche toutes les faces obtenues ainsi que le premier « pile ».

On peut aussi afficher le nombre de « face » obtenus avant le premier pile :

L1 : On importe le module random.
L2 : On initialise face_obtenue à 0 (« face »).
L3 : On initialise compteur à 0.
L4, L5 : Tant que face_obtenue correspond à « face », on génère un autre nombre entier 0 ou 1. Dès qu’on obtient 1 (« pile »), la boucle s’arrête. 
L6 : À chaque passage dans la boucle, le compteur augmente de 1 (y compris lorsque le premier « pile » est obtenu).
L7 : On affiche compteur–1 (pour enlever le premier « pile » obtenu).

On pourrait refaire cette expérience plusieurs fois et calculer le nombre moyen de 0 obtenus avant le premier 1. Les possibilités sont infinies.

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Question 1/5

La médiane de 6 notes est 13. Cela signifie que :

Question 2/5

On a obtenu la série statistique suivante :

Combien vaut la médiane ?

Question 3/5

On a obtenu la série ci-dessous :

Quelle est la médiane de cette série ?

Question 4/5

On a relevé les tailles en cm des élèves d’une classe :

 

Parmi les propositions suivantes, laquelle est vraie ?

Question 5/5

Les notes en français de deux classes littéraires sont données dans le tableau suivant :

Quelle est la note médiane ?

Vous avez obtenu75%de bonnes réponses !

Recevez l'intégralité des bonnes réponses ainsi que les rappels de cours associés :

Votre adresse e-mail sera exclusivement utilisée pour vous envoyer notre newsletter. Vous pourrez vous désinscrire à tout moment, à travers le lien de désinscription présent dans chaque newsletter. Pour en savoir plus sur la gestion de vos données personnelles et pour exercer vos droits, vous pouvez consulter notre charte.

Une erreur s'est produite, veuillez ré-essayer

Consultez votre boite email, vous y trouverez vos résultats de quiz!

Découvrez le soutien scolaire en ligne avec myMaxicours

Le service propose une plateforme de contenus interactifs, ludiques et variés pour les élèves du CP à la Terminale. Nous proposons des univers adaptés aux tranches d'âge afin de favoriser la concentration, encourager et motiver quel que soit le niveau. Nous souhaitons que chacun se sente bien pour apprendre et progresser en toute sérénité ! 

Fiches de cours les plus recherchées

Mathématiques complémentaires

La boucle for - spé maths complémentaires

Mathématiques complémentaires

Rappels sur les suites géométriques et notion de limite

Mathématiques complémentaires

La somme des termes d'une suite géométrique

Mathématiques complémentaires

Définitions et notations ensemblistes

Mathématiques complémentaires

Rappels sur les suites numériques : définition, génération, notation

Mathématiques complémentaires

Espérance et variance d'une loi à densité

Mathématiques complémentaires

La notion de limite de suite

Mathématiques complémentaires

Les listes en Python : création et manipulation

Mathématiques complémentaires

Les listes en Python : application aux probabilités et statistiques

Mathématiques complémentaires

Les listes en Python : application aux suites et aux fonctions