Repères pour le professeur
Objectifs et capacités
Objectifs
- Structurer un programme avec des fonctions qui reçoivent des arguments et renvoient des valeurs
- Générer et parcourir des listes, notamment de termes d'une suite
- Déterminer un seuil avec une boucle while et une valeur approchée par balayage
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, procédures de calcul (IXe siècle)
- Ada Lovelace, premier programme publié (1843)
- Guido van Rossum, 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
Objectif du module : « Ce module permet aux élèves de consolider et d'approfondir l'étude de l'algorithmique et de la programmation commencée dans les classes antérieures. »
Programmation modulaire : « L'accent est mis sur la programmation modulaire qui permet de découper une tâche complexe en tâches plus simples. »
Langage : « En continuité avec les classes de seconde et de première, le langage utilisé est le langage Python. »
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
- Fonction
- def nom(arguments) : … return résultat.
- Programmation modulaire
- Découper un problème en petites fonctions simples et testables.
- Liste
- Générée en extension, par ajouts successifs (append) ou en compréhension.
- Boucle while
- Répète tant qu'une condition est vraie ; sert à trouver un seuil.
- Balayage
- On avance par petits pas jusqu'au changement de signe ou au dépassement d'une valeur, ce qui donne un encadrement.
Repères
| Date | Événement |
|---|---|
| IXe siècle | Al‑Khwarizmi décrit des procédures de calcul ; son nom a donné le mot « algorithme ». |
| 1843 | Ada Lovelace publie un programme pour la machine analytique de Babbage. |
| 1991 | Guido van Rossum publie Python. |
| Aujourd'hui | Python est l'un des langages les plus utilisés dans l'industrie et la recherche. |
Les historiens en débat
Le mot algorithme rend hommage au savant de Bagdad Al‑Khwarizmi. Ada Lovelace a compris la première qu'une machine pouvait exécuter une suite d'instructions générale. Python, libre et gratuit, permet aujourd'hui à chacun d'écrire en quelques lignes des programmes qui répondent à des questions professionnelles. Synthèse du professeur.
Pour aller plus loin
Sources et bibliographie
- Gilles Dowek, Les Métamorphoses du calcul, Le Pommier, 2007.
- Gérard Swinnen, Apprendre à programmer avec Python 3, Eyrolles, 2012.
- Ahmed Djebbar, Une histoire de la science arabe, Seuil, 2001.
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 | Fonctions et listes | 65 min | écrire des fonctions et générer des listes de termes d'une suite |
| Séance 2 | Seuils et balayage | 65 min | déterminer un seuil avec while et encadrer une solution par balayage |
| É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 · Fonctions et listes
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 calculer d'un coup les recettes de six années ?
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 (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) · Fonctions et listes
Une fonction Python regroupe des instructions : def valeur(c, t, n) : reçoit des arguments, effectue un calcul et renvoie un résultat avec return. On l'appelle avec des valeurs : valeur(1000, 0.03, 2). La programmation modulaire consiste à découper un problème en petites fonctions faciles à tester. Une liste peut être générée en extension ([200, 220, 242]), par ajouts successifs (liste vide, puis append dans une boucle) ou en compréhension. La fonction sum additionne les éléments d'une liste. On travaille dans Basthon, gratuit, dans le navigateur.
Document 1 · Le chiffre d'affaires prévisionnel
Situation-problème.
Une jeune entreprise de services prévoit un chiffre d'affaires de 200 milliers d'euros la première année, puis une hausse de 10 % par an. Elle veut la liste des six premières années et le total.
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.
- Chiffre d'affaires des années 2 et 3 ?✔ Corrigé :
220 et 242.
- Type de suite ?✔ Corrigé :
Géométrique de raison 1,1.
- Six premiers termes ?✔ Corrigé :
200 ; 220 ; 242 ; 266,2 ; 292,82 ; 322,10.
| 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.
- Liste par ajouts successifs ?✔ Corrigé :
ca = [] ; u = 200 ; for k in range(6) : ca.append(u) ; u = u × 1.1.
- Total des six années ?✔ Corrigé :
sum(ca) ≈ 1 543,12 milliers d'euros.
- Fonction valeur(1000, 0.03, 2) qui multiplie n fois par 1 + t ?✔ Corrigé :
Elle renvoie 1 060,90.
| Critère de réussite | Points |
|---|---|
| Analyser, raisonner, réaliser | 7 |
| Total de l'activité | 7 |
Activité 3 · Communiquer
15 minSupports : Documents et cours
Rédigez une présentation (6 lignes) de votre programme pour la gérante : ce qu'il calcule, comment le modifier si la hausse est de 8 %. Pour bien commencer : Le programme crée une liste… · Pour une hausse de 8 %, il suffit de… · Le total obtenu représente…
Description juste ; modification du coefficient 1,1 en 1,08 ; total interprété ; clarté.
| 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 fonction commence par def. Elle renvoie son résultat avec return. append ajoute un élément à une liste. sum donne la somme des éléments d'une liste.
Barème récapitulatif des activités notées
| Activité | Points |
|---|---|
| Activité 1 · S'approprier | 6 |
| Activité 2 · Réaliser | 7 |
| Activité 3 · Communiquer | 7 |
| Total | 20 / 20 |
Séance 2 · Seuils et balayage
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 ? Avec quelle précision ?
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 (Analyser, raisonner) ; 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) · Boucle while et balayage
Pour trouver un seuil (le premier rang n où une suite dépasse une valeur), on utilise une boucle while : tant que la condition n'est pas atteinte, on calcule le terme suivant et on augmente un compteur. Pour trouver une valeur approchée d'une solution de f(x) = c dont on sait qu'elle existe dans un intervalle, on fait un balayage : on part de la borne inférieure et on avance d'un pas (0,1 puis 0,01) tant que f(x) < c ; on obtient un encadrement de la solution. On écrit la fonction f à part : c'est la programmation modulaire.
Document 1 · Le placement et l'équation
Situation-problème.
Une coopérative place 1 000 € à 3 % par an et veut savoir quand elle atteindra 1 500 €. Son bureau d'études cherche aussi la solution de x³ − 3x = 1 comprise entre 1 et 2 (dimension d'une pièce).
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
Préparez.
- Condition de la boucle pour le placement ?✔ Corrigé :
Tant que c < 1 500.
- Que fait‑on à chaque tour ?✔ Corrigé :
c = c × 1.03 et n = n + 1.
- Pour le balayage, que calcule la fonction g ?✔ Corrigé :
g(x) = x × x × x − 3 × x.
| Critère de réussite | Points |
|---|---|
| S'approprier, réaliser | 6 |
| Total de l'activité | 6 |
Activité 2 · Analyser, raisonner
18 minSupports : Cours
Programmez et testez.
- Résultat de seuil(1000, 0.03, 1500) ?✔ Corrigé :
14 ans, capital ≈ 1 512,59 €.
- Balayage au pas de 0,1 ?✔ Corrigé :
g(1,8) ≈ 0,43 et g(1,9) ≈ 1,16 : solution entre 1,8 et 1,9.
- Balayage au pas de 0,01 ?✔ Corrigé :
g(1,87) ≈ 0,929 et g(1,88) ≈ 1,005 : solution entre 1,87 et 1,88.
| 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 un compte rendu (6 à 8 lignes) pour le bureau d'études : méthode de balayage, encadrement obtenu, précision et intérêt d'avoir écrit g comme une fonction séparée. Pour bien commencer : J'ai écrit une fonction g qui… · Le balayage au pas de 0,01 donne… · Écrire g à part permet de…
Méthode claire ; encadrement juste ; précision au centième ; réutilisation de g ; vocabulaire précis.
| 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 while répète tant qu'une condition est vraie. Un compteur compte les tours de boucle. Le balayage donne un encadrement de la solution. Écrire g comme une fonction séparée relève de la programmation modulaire.
Barème récapitulatif des activités notées
| Activité | Points |
|---|---|
| Activité 1 · S'approprier | 6 |
| Activité 2 · Analyser, raisonner | 7 |
| Activité 3 · Valider, communiquer | 7 |
| Total | 20 / 20 |
Fiche à trous · corrigé
Une fonction Python commence par le mot‑clé def.
Le mot‑clé return renvoie le résultat d'une fonction.
Une boucle while répète des instructions tant qu'une condition est vraie.
Le balayage donne un encadrement d'une solution.
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 | Que renvoie la fonction suivante pour valeur(1000, 0.03, 2) ? def valeur(c, t, n) : on répète n fois c = c × (1 + t), puis return c. | 4 pts | 1 000 × 1,03 × 1,03 = 1 060,90. 4 points. |
| 2 | Écrivez une fonction seuil(c, t, objectif) qui renvoie le nombre d'années nécessaires pour qu'un capital c placé au taux t atteigne objectif. Testez‑la avec 1 000 €, 3 % et 1 500 €. | 8 pts | n = 0 ; while c < objectif : c = c × (1 + t) ; n = n + 1 ; return n. Résultat 14 (capital ≈ 1 512,59 €). Boucle while (4 pts), test (4 pts). |
| 3 | On cherche une solution de x³ − 3x = 1 entre 1 et 2. Décrivez un programme de balayage au pas de 0,01 et donnez l'encadrement obtenu. Expliquez l'intérêt de découper le programme en fonctions. Pour bien commencer : *Je définis d'abord une fonction…* · *La boucle s'arrête quand…* · *Découper en fonctions permet de…* | 8 pts | Fonction g(x) qui renvoie x × x × x − 3 × x ; on part de x = 1 et on augmente x de 0,01 tant que g(x) < 1 : on s'arrête à 1,88, d'où l'encadrement 1,87 < solution < 1,88 (g(1,87) ≈ 0,929 et g(1,88) ≈ 1,005). Fonctions réutilisables et faciles à tester. Programme (4 pts), encadrement (2 pts), explication (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 : suites géométriques, pourcentages, image d'un nombre par une fonction.
- Pour aller plus loin : générer dans une liste les termes d'une suite et les représenter par un nuage de points.