D'après wikipedia
La simulation est un outil utilisé par le chercheur, l'ingénieur, le militaire, etc. pour étudier les résultats d'une action sur un élément sans réaliser l'expérience sur l'élément réel.
Lorsque l'outil de simulation utilise un ordinateur on parle de simulation numérique.
La simulation sert à produire des données à partir d'un modèle, d'une expérience. Ces données servent ensuite à valider le modèle ou à analyser l'expérience.
Dans ce TP, vous allez modéliser puis simuler des expériences aléatoires. Il vous faudra d'abord choisir les bons outils pour reproduire informatiquement l'expérience puis la faire jouer par l'ordinateur de nombreuses fois.
Par défaut, Python ne sait pas faire d'aléatoire. Il faut donc importer quelques fonctions depuis random
(aléatoire en anglais)
from random import random, randint, uniform, choice
Exécutez plusieurs fois les commandes pour vous convaincre qu'elles ne donnent pas toujours le même résultat.
random()
: donne un nombre aléatoire entre 0 et 1.random()
0.9689733689484863
randint(a, b)
: donne un entier aléatoire entre a et b.randint(4, 10)
4
uniform(a, b)
: donne un nombre aléatoire entre a et b.uniform(4, 10)
5.000675533330709
choice(liste)
: choisit aléatoirement un élément de la liste.# Pour définir une liste, on utilise des crochets []
matieres = ["math", "français", "Histoire"]
# Choisir au hasard un élément parmi cette liste
choice(matieres)
'math'
Exécuter le programme ci-dessous plusieurs fois.
print("--- Simulateur de lancer de dés ---")
print("Première situation")
de1 = randint(1, 6)
de2 = randint(1, 10)
resulat1 = de1 * de2
print("La première situation donne", resulat1)
print("Deuxième situation")
resulat2 = randint(1, 8) * randint(1, 8)
print("La deuxième situation donne", resulat2)
--- Simulateur de lancer de dés --- Première situation La première situation donne 60 Deuxième situation La deuxième situation donne 6
Copier puis adaptez le programme précédent pour qu'il simule les deux situations suivantes
if resulat1 > resulat2:
print("La première situation gagne")
else:
print("La deuxième situation gagne")
Exécuter les plusieurs fois, y a-t-il des situations qui semblent gagner plus souvent que d'autres?
Dans le problème des dés des Dudu, les deux frères ont chacun deux dés différents:
On veut savoir qui sera le premier à faire 17 en ajoutant le résultat de ses 2 dés.
À vous de simuler cette situation pour répondre à la question.
On dispose de 3 dés à 6 faces équilibrés avec les nombres suivants sur leurs faces.
On souhaite savoir si un dé est plus avantageux que les autres.
Proposition d'étapes pour répondre à cette question