Super sympas ces fiches... notamment celles où il y a un peu de simulation Python :)
Maths complémentaires se sont donc a priori des élèves de Tle qui sont à l’aise avec les maths. Je ne sais pas si les scripts Python sont faits en coordination avec la spé NSI, pas forcément j’imagine.
Néanmoins voici qq remarques pour éventuellement faire d’une pierre 2 coups : travailler les maths et améliorer la modélisation de problèmes en programmation. J’ai pris la fiche sur l’inférence Bayésienne.
Si on veut modéliser une nouvelle urne, actuellement, il faut écrire une nouvelle fonction du genre de U1 et U2... on peut faire mieux. Une urne finalement est modélisée par un couple d’entiers (i, n) où i est le numéro de la première boule bleue et n le nombre total de boules. En numérotant à partir de 0 (et c’est en général une bonne idée en programmation) on a donc l’urne n°1 (que je nommerais plutôt URNE_0
) qui vaut le couple (1, 8) et l’urne n°2 (qui devient donc URNE_1
) qui vaut le couple (40, 50).
On utilise alors la fonction randrange
du module random
qui prend 1 seul argument n et fait un tirage entre 0 et n-1. On utilise des constantes ROUGE
et BLEU
pour les couleurs :
On peut utiliser un style de programmation plus fonctionnel pour quelque chose de concis :
Manipuler les chaines de caractères "rouge"
et "bleu"
n’a aucun intérêt. Dès que c’est possible on utilise les entiers 0, 1, 2, ...pour modéliser les choses. Ici par exemple on peut tirer avantage d’avoir ROUGE = 0
et BLEU = 1
dans le décompte des boules rouges. Voici comment.
On crée un tableau decompte
qui comporte 2 tableaux de 2 valeurs valant 0 au début : [[0, 0], [0, 0]]
. Le premier tableau est le décompte des boules rouges et des boules bleues pour la première urne, le deuxième tableau concerne la deuxième urne. Ainsi decompte[0][ROUGE]
représente le nombre de boules rouges tirées de la première urne.
Voilà ce que pourrait être la fonction de simulation qui prend un nombre de tirages en paramètre ainsi qu’un couple d’urnes ; on décompte toutes les boules rouges, comme les bleues et à la fin on renvoie uniquement le nombre de boules rouges. On évite ainsi le if
:
Et si on veut faire la simulation avec un autre couple d’urnes il suffit faire un appel différent ; par exemple 1000 tirages avec une 1re urne qui contient 20 boules dont 5 rouges (de 0 à 4) et une 2e urne avec 30 boules dont 10 rouges (de 0 à 9) :
Commentaires