- tous niveaux
- Collèges tous niveaux
- Lycée tous niveaux
- non précisé
- élève
- enseignant
du tableur vers python
Utiliser le tableur pour introduire Python
Objectif
L’objectif de ce document est de présenter une activité qui permet d’introduire la programmation Python à partir du tableur. Elle a été faite en seconde sur plusieurs séances, en demi-groupe et en salle informatique. L’activité a été proposée au format numérique sur la plateforme Moodle du lycée. Elle aurait très bien pu être distribuée au format papier. L’essentiel était que les élèves soient autonomes et travaillent à leur rythme pour s’approprier au mieux les notions abordées. Un accès à Internet était permis. Cela leur permettait de chercher comment coder certaines fonctions tableur ou Python.
Pourquoi passer du tableur à Python ?
Ce sont deux utilisations complémentaires. Comme nous allons le voir, le tableur permet de décomposer les différentes étapes d’un calcul ou d’un programme tout en offrant la visualisation immédiate des résultats des fonctions utilisées. Cela aide les élèves à comprendre l’algorithme qu’ils ont à programmer en Python qui est plus performant que le tableur lorsque l’on veut simuler des échantillons de très grande taille.
Thème
Simulation d’une expérience aléatoire
Notions abordées
Voici une liste non exhaustive de notions abordées :
- La fonction random et la création de nombres pseudo-aléatoires (distribution uniforme)
- La fonction partie entière (sa définition et son utilisation)
- Composition de fonctions
- Création de la simulation d’une expérience aléatoire
- Utilisation d’une simulation pour conjecturer des probabilités
- Notion et observation de fluctuation de fréquences (loi des grands nombres)
- De la moyenne d’une série statistique à la notion d’espérance mathématiques
- Manipulation du tableur : utilisation du $, fonctions random(), ent(...), somme(...), nb.si(...;...), ...
- Programmation Python : fonctions Python (procédure et fonctions), liste Python, fonctions floor(...) etrandom() , structure for (en donnant du sens à range(...) ), structure conditionnelle
Description
Dans cette activité, on souhaite étudier le nombre de filles dans les familles de 4 enfants.
On fait les hypothèses (1) suivantes :
- Chaque naissance a autant de chances d’être celle d’un garçon ou celle d’une fille.
- Le sexe d’un enfant d’une famille ne dépend pas du sexe des enfants précédents.
Population étudiée : Famille de 4 enfants
Caractère étudié sur cette population : nombre de filles
Événements élémentaires (résultats possibles) : le nombre de fille appartient à {0 ; 1 ; 2 ; 3 ; 4}
On souhaite simuler un très grand nombre de familles de manière à répondre aux questions posées par les élèves :
- Quel est l’événement élémentaire le plus fréquent ?
- Quel est l’événement élémentaire le plus probable ?
- Quelles sont les probabilités des différents événements élémentaires ?
- Quel est le nombre moyen de fille dans une famille de 4 enfants ?
Pour cela, on se donne comme objectif de remplir les tableaux suivants.
Résultats possibles | 0 | 1 | 2 | 3 | 4 | Somme |
Effectifs | ... | ... | ... | ... | ... | ... |
Fréquences | ... | ... | ... | ... | ... | ... |
Pour construire cette simulation, on commence, dans un premier temps, par utiliser le tableur pour comprendre comment simuler, pour décomposer les différentes étapes et pour visualiser les résultats intermédiaires et les résultats finaux. Dans un deuxième temps, on utilise Python pour obtenir des échantillons de tailles de très grande taille et des résultats plus précis.
Les élèves ont à leur disposition une activité sous format numérique, un fichier tableur (à ouvrir par exemple avec libre Office) et un modèle de fichier Python (à ouvrir par exemple avec Pyscripter que l’on trouve dans la version portable de Python).
Les différentes étapes
L’activité a été faites sur plusieurs séances, en classe de seconde, en demi-groupe et en salle informatique.
Elle peut se décomposer en 6 étapes.
Etape 1 : Simulation d’une naissance

Etape 2 : Simulation d’un famille de 4 enfants

Etape 3 : Calcul du nombre de filles dans une famille de 4 enfants

Etape 4 : Création d’un échantillon de plusieurs familles

Etape 5 : Tableau des effectifs et des fréquences

Etape 6 : Calcul de la moyenne de la série 

Bilan
Avec le tableur, on peut travailler avec des échantillons de taille 1000 (c’est le cas dans notre exemple) ou de taille 5000 ou encore de taille 10000. Au delà, on constate que les copier-coller des formules sont de plus en plus pénibles et que les calculs se font moins rapidement.
Avec Python, on peut obtenir des simulations pour des échantillons de tailles 106 voir même de taille 5 106 .Au delà les résultats mettent plus de temps à s’afficher mais travailler avec un échantillon de taille 5 106 est déjà largement suffisant !
Avoir utilisé le tableur avant de programmer en Python a permis aux élèves de visualiser les objets qu’ils avaient à utiliser dans leur programme Python. Par exemple, dans l’étape 2, le tableur permet de voir le contenu de la variable listeEnfant de Python. Même chose dans l’étape 4, pour la liste listeNbFille de Python que l’on observe dans le tableur dans la colonne F. Dans l’étape 3, le tableur permet de comprendre ce que compte la fonction nbFille(…).
L’utilisation en parallèle du tableur et de Python permet aussi de mieux comprendre la structure répétitive bornée for comme le montre le tableau ci-dessous.
Dans l’étape 2 les lignes de code se traduisent dans le tableur par un simple copier-coller | Dans l’étape 5 les lignes de code dans lesquelles la variable i est utilisée permettent de comprendre qu’il ne s’agit pas seulement de répéter 5 fois les instructions qu’elle contient mais que i prend les valeurs 0, 1, 2, 3 et 4. |
Dans l’étape 6, les lignes de code
peuvent être expliquée en demandant aux élèves de calculer de tête la somme des valeurs contenues dans la plage F2:F1001 ! Ils comprennent très vite le principe d’hérédité utilisé dans le code Python. Lorsqu’on en est à la n+1 ième ligne du tableau, on doit ajouter la valeur de la n+1 ième ligne à la somme des valeurs des n premières lignes.
Cette activité est l’occasion de faire constater aux élèves que :
- pour 2 échantillons de même taille la fréquence d’un événement, {« 1 Fille par famille »} par exemple, fluctue autour de 0,25
- plus la taille de l'échantillon augmente moins cette fluctuation est importante.
- si on fait tendre la taille de l'échantillon vers , alors la fréquence de l'évènement {« 1 Fille par famille »} tend vers 0,25 qui est la « fréquence théorique » ou la probabilité de l'évènement. Cette propriété est appelée la loi des grands nombres.
Après toutes ces simulations, on peut demander, dans un premier temps, aux élèves de conjecturer les probabilités de chaque événements élémentaires puis, dans un deuxième temps, de modéliser la situation à l’aide d’un arbre pondéré pour construire la loi de probabilité et ainsi vérifier leurs conjectures.
auteurs :
Yann Bertrand
Mots clés :
Information(s) pédagogique(s)
Niveau :
tous niveaux, Collèges tous niveaux, Lycée tous niveaux
Public visé :
non précisé, élève, enseignant
Document(s) complémentaire(s)
-
Documents complémentaires
lien de docs