Repères pour le professeur
Objectifs et capacités
Objectifs
- Choisir le type d'une variable et écrire une affectation
- Écrire une instruction conditionnelle et une boucle bornée ou non bornée
- Écrire et utiliser une fonction Python (arguments, valeur renvoyée)
Capacités travaillées (BO)
- S'approprier : rechercher, extraire et organiser l'information
- Analyser, raisonner : émettre une conjecture, choisir une méthode
- Réaliser : calculer, représenter, utiliser un outil numérique
- Valider : contrôler la vraisemblance, argumenter
- Communiquer : rendre compte d'une démarche à l'écrit et à l'oral
Notions et définitions
Repères historiques
- Al‑Khwarizmi, dont le nom a donné « algorithme » (IXe siècle)
- Ada Lovelace, premier programme publié (1843)
- Guido van Rossum crée Python (1991)
Ressources de la séquence
Ancrage dans le programme, notions, repères, débats, bibliographie et différenciation, communs à toutes les séances.
Ancrage dans le programme officiel
Choix du langage : « Python. Ce dernier a été choisi pour sa concision, sa simplicité, son implémentation dans de multiples environnements et son utilisation dans l'enseignement supérieur. »
Intention : « On ne vise pas la maîtrise d'un langage de programmation ni une virtuosité technique ; la programmation est un outil au service de la formation des élèves à la pensée algorithmique. »
Rigueur : « L'écriture d'algorithmes et de programmes est également l'occasion de transmettre aux élèves l'exigence d'exactitude et de rigueur et de les entraîner à la vérification et au contrôle »
Compétences : « valider : critiquer un résultat, argumenter ; contrôler la vraisemblance d'une conjecture ; mener un raisonnement logique et établir une conclusion »
Certification (arrêté du 17 juin 2020, annexe III) : en contrôle en cours de formation, deux situations d'évaluation en première et terminale : « Ces situations d'évaluation ont chacune une durée de quarante-cinq minutes environ et sont notées sur 10 points. » « Un exercice au moins comporte une ou deux questions dont la résolution se fait en présence de l'examinateur. » Pour les candidats hors CCF : « L'épreuve, d'une durée d'une heure, est une évaluation écrite et pratique, notée sur 20 points se déroule en fin de cursus de formation. »
Notions : définitions rigoureuses
- Variable
- Nom associé à une valeur stockée en mémoire, qui peut changer au cours du programme.
- Types
- Entier (int), flottant (float, nombre à virgule écrit avec un point), chaîne de caractères (str), booléen (True ou False).
- Affectation
- x = 3 donne la valeur 3 à la variable x (notée x ← 3 en langage naturel).
- Instruction conditionnelle
- if condition : … else : … exécute des instructions selon qu'une condition est vraie ou fausse.
- Boucles
- for i in range(n) répète n fois ; while condition répète tant que la condition est vraie.
- Fonction
- def nom(arguments) : … return résultat ; on l'appelle avec des valeurs.
Repères
| Date | Événement |
|---|---|
| IXe siècle | Al‑Khwarizmi décrit des procédés de calcul pas à pas. |
| 1843 | Ada Lovelace publie un programme pour la machine analytique de Babbage. |
| 1936 | Alan Turing définit mathématiquement ce qu'est un calcul. |
| 1991 | Guido van Rossum publie la première version de Python. |
Les historiens en débat
Un algorithme est une suite finie d'instructions qui résout un problème ; le mot vient du nom d'Al‑Khwarizmi. La programmation permet de confier à une machine des calculs répétitifs : devis, tableaux de mesures, simulations. Le programme de Bac Pro insiste sur la rigueur et le contrôle des résultats plutôt que sur la technicité. Synthèse du professeur.
Pour aller plus loin
Sources et bibliographie
- Gérard Swinnen, Apprendre à programmer avec Python 3, Eyrolles, 2012.
- Mickaël Launay, Le Grand Roman des maths, Flammarion, 2016.
- Hervé Lehning, Toutes les mathématiques du monde, Flammarion, 2017.
Différenciation : un rythme de travail différent
- Pour les élèves qui ont besoin de plus de temps : énoncé découpé en petites questions, rappel de cours en marge, calculatrice ou tableur autorisés pendant l'entraînement, correction pas à pas en vidéo ou en classe virtuelle.
- Pour les élèves qui avancent vite : question d'approfondissement (démonstration, généralisation, programme Python à écrire), problème ouvert à rédiger et à présenter à l'oral.
Déroulé d'ensemble
| Séance | Titre | Durée | Objectif |
|---|---|---|---|
| Séance 1 | Variables, conditions et fonctions | 65 min | écrire une fonction qui calcule un tarif |
| Séance 2 | Boucles bornées et non bornées | 65 min | répéter un calcul avec for et while |
| Évaluation | Évaluation de fin de séquence (/20) | 55 min | Vérifier les acquis : connaissances, capacités, rédaction |
Chaque séance dure environ 55 minutes à distance : lancement en classe virtuelle ou par message sur l'ENT, recherche du problème (calculatrice, tableur, GeoGebra ou Python dans le navigateur), mise en commun, cours et trace écrite. Les élèves renvoient la fiche à trous et leur production par l'ENT ou en photo.
Séance 1 · Variables, conditions et fonctions
65 minSéance approfondie : cours développé, documents sourcés, activités exigeantes, corrigés et barème.
Problématique de la séance
Comment automatiser le calcul d'un prix d'entrée ?
Déroulé minuté à distance
- 10 min → Lancement en classe virtuelle : Rappel de la séance précédente, lecture de la problématique, récit du professeur appuyé sur le cours (capsule audio sur l'ENT si la connexion est fragile).
- 12 min → Travail autonome : Activité 1 (S'approprier) ; le professeur reste joignable par la messagerie de l'ENT.
- 18 min → Travail autonome : Activité 2 (Réaliser) ; le professeur reste joignable par la messagerie de l'ENT.
- 15 min → Travail à rendre : Activité 3 (Valider, communiquer) à déposer sur l'ENT ou à rendre en photo ; correction individualisée avec le barème.
- 10 min → Mise en commun : Correction collective des points essentiels, puis élaboration et dépôt de la trace écrite.
Le cours développé (récit du professeur) · Les bases de Python
Une variable stocke une valeur ; on lui donne une valeur par une affectation : prix = 12.5. Chaque valeur a un type : entier (12), flottant (12.5, avec un point), chaîne de caractères ("bonjour"), booléen (True ou False, résultat d'un test comme age < 12). L'instruction conditionnelle if condition : … elif … : … else : … choisit les instructions à exécuter. Une fonction regroupe des instructions : def tarif(age) : … return prix ; on l'appelle avec tarif(15). L'indentation (décalage des lignes) délimite les blocs. On travaille dans Basthon, dans le navigateur.
Document 1 · La billetterie du cinéma
Situation-problème.
Un cinéma associatif pratique les tarifs suivants : moins de 12 ans 4 € ; de 12 à 25 ans inclus 6 € ; plus de 25 ans 9 €. Le mercredi, tous les tarifs baissent de 1 €. Le bénévole de la billetterie veut un programme qui calcule le prix.
Source : Situation construite pour la séance par le professeur (données fictives, choisies pour être réalistes).
Activité 1 · S'approprier
12 minSupports : Document 1
Analysez l'algorithme.
- Quelles données d'entrée ?✔ Corrigé :
L'âge et le jour.
- Quels types ?✔ Corrigé :
Âge : entier ; jour : chaîne de caractères.
- Prix pour 25 ans un mercredi ?✔ Corrigé :
6 − 1 = 5 €.
| Critère de réussite | Points |
|---|---|
| S'approprier, réaliser | 6 |
| Total de l'activité | 6 |
Activité 2 · Réaliser
18 minSupports : Cours
Écrivez la fonction dans Basthon.
- Écrivez tarif(age) sans le mercredi.✔ Corrigé :
if age < 12 : return 4 ; elif age <= 25 : return 6 ; else : return 9.
- Ajoutez l'argument jour.✔ Corrigé :
Calculer p = tarif(age) puis, si jour == "mercredi", p = p − 1 ; return p.
- Tests : (10, "lundi"), (30, "mercredi") ?✔ Corrigé :
4 et 8.
| Critère de réussite | Points |
|---|---|
| Analyser, raisonner, réaliser | 7 |
| Total de l'activité | 7 |
Activité 3 · Valider, communiquer
15 minSupports : Documents et cours
Rédigez une notice (6 à 8 lignes) pour le bénévole : comment utiliser la fonction, et quels tests faire pour vérifier qu'elle est juste (valeurs limites 12 et 25). Pour bien commencer : Pour obtenir un prix, on appelle… · Il faut tester en particulier… · Si le résultat n'est pas…
Appel de la fonction ; tests des cas limites 11, 12, 25, 26 ; vérification avec le tableau des tarifs ; langage clair.
| Critère de réussite | Points |
|---|---|
| Valider | 5 |
| Communiquer | 2 |
| Total de l'activité | 7 |
Trace écrite (à faire recopier ou à déposer sur l'ENT)
prix = 12.5 est une affectation. 12.5 est de type flottant. L'instruction if permet d'exécuter des instructions selon une condition. Une fonction renvoie son résultat avec return.
Barème récapitulatif des activités notées
| Activité | Points |
|---|---|
| Activité 1 · S'approprier | 6 |
| Activité 2 · Réaliser | 7 |
| Activité 3 · Valider, communiquer | 7 |
| Total | 20 / 20 |
Séance 2 · Boucles bornées et non bornées
65 minSéance approfondie : cours développé, documents sourcés, activités exigeantes, corrigés et barème.
Problématique de la séance
Au bout de combien d'années un placement dépasse‑t‑il un seuil ?
Déroulé minuté à distance
- 10 min → Lancement en classe virtuelle : Rappel de la séance précédente, lecture de la problématique, récit du professeur appuyé sur le cours (capsule audio sur l'ENT si la connexion est fragile).
- 12 min → Travail autonome : Activité 1 (S'approprier) ; le professeur reste joignable par la messagerie de l'ENT.
- 18 min → Travail autonome : Activité 2 (Réaliser) ; le professeur reste joignable par la messagerie de l'ENT.
- 15 min → Travail à rendre : Activité 3 (Valider, communiquer) à déposer sur l'ENT ou à rendre en photo ; correction individualisée avec le barème.
- 10 min → Mise en commun : Correction collective des points essentiels, puis élaboration et dépôt de la trace écrite.
Le cours développé (récit du professeur) · Boucles
Une boucle bornée for i in range(n) : répète un bloc n fois (i prend les valeurs 0, 1, …, n − 1). Une boucle non bornée while condition : répète le bloc tant que la condition est vraie ; il faut que la condition finisse par devenir fausse, sinon le programme ne s'arrête pas. On utilise souvent un compteur (n = n + 1) et un accumulateur (total = total + …). Exemple : pour trouver le nombre d'années pour qu'un capital de 1 000 € à 4 % dépasse 1 500 €, on multiplie par 1,04 tant que le capital est inférieur ou égal à 1 500.
Document 1 · Le placement
Situation-problème.
Une association place 1 000 € à 4 % par an (les intérêts s'ajoutent chaque année au capital). Elle veut savoir dans combien d'années elle aura plus de 1 500 €, et quel sera le capital chaque année pendant 5 ans.
Source : Situation construite pour la séance par le professeur (données fictives, choisies pour être réalistes).
Activité 1 · S'approprier
12 minSupports : Document 1
Calculez à la main.
- Capital après 1 an ? 2 ans ?✔ Corrigé :
1 040 € ; 1 081,60 €.
- Par quel nombre multiplie‑t‑on chaque année ?✔ Corrigé :
1,04.
- Quel type de boucle pour afficher 5 années ?✔ Corrigé :
Une boucle for (nombre de répétitions connu).
| Critère de réussite | Points |
|---|---|
| S'approprier, réaliser | 6 |
| Total de l'activité | 6 |
Activité 2 · Réaliser
18 minSupports : Cours
Programmez dans Basthon.
- Programme qui affiche le capital pendant 5 ans.✔ Corrigé :
capital = 1000 ; for i in range(5) : capital = capital × 1.04 ; print(capital).
- Programme qui trouve l'année du dépassement.✔ Corrigé :
while capital <= 1500 : capital = capital × 1.04 ; annees = annees + 1.
- Résultat ?✔ Corrigé :
11 ans, capital ≈ 1 539,45 €.
| Critère de réussite | Points |
|---|---|
| Analyser, raisonner, réaliser | 7 |
| Total de l'activité | 7 |
Activité 3 · Valider, communiquer
15 minSupports : Documents et cours
Rédigez une réponse au trésorier (6 à 8 lignes) avec le résultat et une vérification indépendante à la calculatrice ou au tableur. Pour bien commencer : Le programme répète… · Il s'arrête lorsque… · On vérifie avec la calculatrice : …
Explication de la boucle while ; 11 ans ; vérification 1,04¹⁰ ≈ 1,480 et 1,04¹¹ ≈ 1,539 ; conclusion claire.
| Critère de réussite | Points |
|---|---|
| Valider | 5 |
| Communiquer | 2 |
| Total de l'activité | 7 |
Trace écrite (à faire recopier ou à déposer sur l'ENT)
Une boucle for répète des instructions un nombre de fois connu. Une boucle while répète tant qu'une condition est vraie. Un compteur augmente de 1 à chaque passage. La condition d'une boucle while doit finir par devenir fausse.
Barème récapitulatif des activités notées
| Activité | Points |
|---|---|
| Activité 1 · S'approprier | 6 |
| Activité 2 · Réaliser | 7 |
| Activité 3 · Valider, communiquer | 7 |
| Total | 20 / 20 |
Fiche à trous · corrigé
L'instruction prix = 12.5 est une affectation.
Le type de la valeur 12.5 est flottant.
Une boucle for répète des instructions un nombre de fois fixé.
Une fonction renvoie un résultat avec l'instruction return.
La version élève contient la même fiche avec une banque de mots (papier ou ENT).
Évaluation de fin de séquence (/20) · barème et corrigé
Évaluation sur 20 à faire en temps limité sur l'ENT ou sur papier, puis à renvoyer en photo ; le corrigé et le barème servent aussi à l'autoévaluation. En Bac Pro, elle est construite comme une situation de contrôle en cours de formation (problème contextualisé, compétences évaluées) ; en 1re générale, elle prépare à l'épreuve anticipée (automatismes sans calculatrice et exercices) ; en Terminale générale, aux exercices indépendants de l'épreuve de spécialité.
| N° | Question | Barème | Corrigé et critères |
|---|---|---|---|
| 1 | Donnez le type de chaque valeur : 7 ; 7.0 ; "7" ; 7 > 3. Que vaut a après : a = 5 ; a = a + 2 ; a = 2 × a ? | 4 pts | Entier ; flottant ; chaîne ; booléen. a vaut 14. Deux points et deux points. |
| 2 | Écrivez une fonction tarif(age) qui renvoie 4 si l'âge est inférieur à 12, 6 si l'âge est compris entre 12 et 25 (inclus), et 9 sinon. Testez‑la sur 10, 18 et 40. | 8 pts | def tarif(age) : si age < 12, return 4 ; sinon si age <= 25, return 6 ; sinon return 9. Résultats 4, 6, 9. Structure conditionnelle (4 pts), tests (4 pts). |
| 3 | Un capital de 1 000 € augmente de 4 % par an. Écrivez un programme avec une boucle while qui détermine le nombre d'années nécessaires pour dépasser 1 500 €. Expliquez son fonctionnement et donnez le résultat. Pour bien commencer : *Le programme initialise…* · *À chaque passage dans la boucle, …* · *La boucle s'arrête quand…* | 8 pts | capital = 1000, annees = 0 ; tant que capital <= 1500 : capital = capital × 1.04, annees = annees + 1 ; afficher annees. Résultat : 11 ans (1 539,45 €). Programme (4 pts), explication (2 pts), résultat (2 pts). |
| Total | 20 pts | ||
Pistes pour un rythme de travail différent
- Laisser deux jours de plus aux élèves qui ont peu de connexion et accepter un rendu sur papier photographié.
- Proposer la fiche à trous, un énoncé découpé en petites questions et une vidéo de correction pas à pas.
- Pour les élèves rapides : une démonstration, un programme Python à écrire ou un problème ouvert à présenter à l'oral.
- Automatismes : calcul de pourcentages et de coefficients, priorités opératoires.
- Pour aller plus loin : écrire un programme qui calcule la moyenne d'une liste de mesures.