Version prof → Mathématiques · Lycée professionnel · 1re · Première

Séquence 9 · Algorithmique et programmation : les listes en Python

Comment un programme peut‑il stocker et traiter toute une série de mesures plutôt qu'une seule valeur ?

Repères pour le professeur

Voie · niveauLycée professionnel (Bac Pro) · Première
DisciplineMathématiques
Programme officielProgramme de mathématiques de 1re professionnelle, BO spécial n°1 du 6 février 2020 (groupements A, B et C) : suites arithmétiques, polynômes de degré 2, fonction dérivée.
Place dans le programmeProgramme de mathématiques de première professionnelle (BO spécial n°1 du 6 février 2020), module « Algorithmique et programmation » (groupements A, B et C)
Durée totale2 séances + 1 évaluation ≈ 3 h 05
ModalitéEnseignement à distance : classe virtuelle + travail autonome + rendu sur l'ENT

Objectifs et capacités

Objectifs

Capacités travaillées (BO)

Notions et définitions

liste, élément, indicelen, append, removeparcours d'une liste avec forliste en compréhensionfonction qui reçoit une liste

Repères historiques

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 débutée dans les classes antérieures. »

Listes : « La seule nouveauté est celle de liste, qui trouve naturellement sa place dans de nombreuses parties du programme et permet de travailler des notions telles que les suites numériques, les tableaux de valeurs. »

Langage : « En continuité avec la classe de seconde, 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

Liste
Suite ordonnée de valeurs, notée entre crochets : notes = [12, 15, 9].
Indice
Position d'un élément, à partir de 0 : notes[0] vaut 12.
Méthodes
notes.append(14) ajoute 14 à la fin ; notes.remove(9) retire la valeur 9 ; len(notes) donne la longueur.
Parcours
for n in notes : traite chaque élément tour à tour.
Compréhension
carres = [k × k for k in range(6)] génère 0, 1, 4, 9, 16, 25 (en Python, × s'écrit avec l'astérisque).
Fonction et liste
Une fonction peut recevoir une liste en argument et renvoyer un résultat.

Repères

DateÉvénement
1843Ada Lovelace publie un programme de calcul pour la machine analytique de Babbage.
1958John McCarthy crée Lisp, langage entièrement fondé sur les listes.
1991Guido van Rossum publie la première version de Python.
Aujourd'huiLes listes servent à traiter les données des capteurs, des tableurs et des sites web.

Les historiens en débat

Dès les débuts de l'informatique, il a fallu stocker des séries de valeurs : Lisp, en 1958, a fait de la liste sa structure centrale. Python, langage libre et gratuit, rend ces listes très simples à manipuler ; elles servent partout où l'on traite des données, des relevés de capteurs aux tableaux de valeurs d'une fonction. Synthèse du professeur.

Pour aller plus loin

Sources et bibliographie

Différenciation : un rythme de travail différent

Déroulé d'ensemble

SéanceTitreDuréeObjectif
Séance 1Créer et manipuler une liste65 mingénérer une liste et accéder à ses éléments
Séance 2Parcourir une liste65 minparcourir une liste pour calculer et compter
ÉvaluationÉvaluation de fin de séquence (/20)55 minVé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 · Créer et manipuler une liste

65 min

Séance approfondie : cours développé, documents sourcés, activités exigeantes, corrigés et barème.

Problématique de la séance

Comment stocker toutes les mesures d'un contrôle qualité ?

Déroulé minuté à distance

Le cours développé (récit du professeur) · Les listes

Une liste Python est une suite ordonnée de valeurs, écrite entre crochets : mesures = [12, 15, 9, 17, 11]. Chaque élément a un indice qui commence à 0 : mesures[0] vaut 12, mesures[4] vaut 11. len(mesures) donne le nombre d'éléments. mesures.append(14) ajoute 14 à la fin ; mesures.remove(9) retire la première valeur 9. On peut créer une liste en extension (on écrit tous les éléments), par ajouts successifs (liste vide puis append dans une boucle) ou en compréhension : [k × k for k in range(6)] (avec l'astérisque en Python). On travaille dans Basthon, gratuit, dans le navigateur.

Document 1 · Le contrôle qualité

Situation-problème.

Un atelier de mécanique mesure l'écart (en centièmes de millimètre) de cinq pièces à la cote attendue : 12, 15, 9, 17, 11. Le technicien veut enregistrer ces mesures dans un programme.

Source : Situation construite pour la séance par le professeur (données fictives, choisies pour être réalistes).

Activité 1 · S'approprier

12 min
Essentiel

Supports : Document 1

Consigne :

Lisez la liste mesures = [12, 15, 9, 17, 11].

  1. mesures[1] ?
    ✔ Corrigé :

    15.

  2. len(mesures) ?
    ✔ Corrigé :

    5.

  3. Indice de la valeur 17 ?
    ✔ Corrigé :

    3.

Critère de réussitePoints
S'approprier, réaliser6
Total de l'activité6

Activité 2 · Réaliser

18 min
Essentiel

Supports : Cours

Consigne :

Programmez dans Basthon.

  1. Ajoutez la mesure 14.
    ✔ Corrigé :

    mesures.append(14) ; la liste a 6 éléments.

  2. Retirez la mesure 9.
    ✔ Corrigé :

    mesures.remove(9).

  3. Créez la liste des images de 0 à 5 par x × x − 3 en compréhension.
    ✔ Corrigé :

    [x × x − 3 for x in range(6)] donne −3, −2, 1, 6, 13, 22.

Critère de réussitePoints
Analyser, raisonner, réaliser7
Total de l'activité7

Activité 3 · Communiquer

15 min
Travail à rendre

Supports : Documents et cours

Consigne :

Rédigez un mode d'emploi (6 lignes) pour un collègue : comment créer une liste, lire un élément, en ajouter un et en retirer un. Pour bien commencer : Pour créer une liste, on écrit… · Le premier élément a pour indice… · Pour ajouter une mesure, on utilise…

✔ Corrigé rédigé :

Syntaxe correcte ; indice 0 ; append et remove ; exemple ; clarté.

Critère de réussitePoints
Valider5
Communiquer2
Total de l'activité7

Trace écrite (à faire recopier ou à déposer sur l'ENT)

Une liste s'écrit entre crochets. Le premier élément a pour indice 0. append ajoute un élément à la fin. len donne le nombre d'éléments.

Barème récapitulatif des activités notées

ActivitéPoints
Activité 1 · S'approprier6
Activité 2 · Réaliser7
Activité 3 · Communiquer7
Total20 / 20

Séance 2 · Parcourir une liste

65 min

Séance approfondie : cours développé, documents sourcés, activités exigeantes, corrigés et barème.

Problématique de la séance

Combien d'heures la température a‑t‑elle dépassé le seuil ?

Déroulé minuté à distance

Le cours développé (récit du professeur) · Parcours et fonctions

Pour parcourir une liste, on écrit for t in temperatures : ; la variable t prend tour à tour chaque valeur. On combine le parcours avec un accumulateur (total = total + t) pour calculer une somme ou une moyenne, avec un compteur et un test (if t > 26 : compteur = compteur + 1) pour compter, ou avec une comparaison pour trouver un maximum. On structure le programme avec des fonctions : def moyenne(liste) : … return total / len(liste). Python propose aussi sum(liste) et max(liste) pour vérifier.

Document 1 · Le capteur de température

Situation-problème.

Dans une serre de production horticole, un capteur relève la température chaque heure de 10 h à 16 h : 18, 21, 25, 29, 31, 27, 22 (en °C). Au‑delà de 26 °C, il faut ouvrir les aérations.

Source : Situation construite pour la séance par le professeur (données fictives, choisies pour être réalistes).

Activité 1 · S'approprier

12 min
Essentiel

Supports : Document 1

Consigne :

Observez les données.

  1. Nombre de relevés ?
    ✔ Corrigé :

    7.

  2. Température maximale ?
    ✔ Corrigé :

    31 °C.

  3. Combien de relevés dépassent 26 °C ?
    ✔ Corrigé :

    3 (29, 31, 27).

Critère de réussitePoints
S'approprier, réaliser6
Total de l'activité6

Activité 2 · Analyser, raisonner

18 min
Essentiel

Supports : Cours

Consigne :

Programmez.

  1. Fonction moyenne(liste) avec une boucle ?
    ✔ Corrigé :

    total = 0 ; for t in liste : total = total + t ; return total / len(liste) ; résultat ≈ 24,7 °C.

  2. Programme qui compte les dépassements ?
    ✔ Corrigé :

    compteur = 0 ; for t in temperatures : if t > 26 : compteur = compteur + 1 ; résultat 3.

  3. Vérification avec sum et max ?
    ✔ Corrigé :

    sum donne 173, max donne 31.

Critère de réussitePoints
Analyser, raisonner, réaliser7
Total de l'activité7

Activité 3 · Valider, communiquer

15 min
Travail à rendre

Supports : Documents et cours

Consigne :

Rédigez une note au chef de culture (6 à 8 lignes) : expliquez ce que fait votre programme et ce qu'il indique pour l'ouverture des aérations. Pour bien commencer : Le programme parcourt… · Il compte les heures où… · D'après les résultats, …

✔ Corrigé rédigé :

Fonctionnement du parcours ; résultat 3 heures ; moyenne ; conseil pratique ; clarté.

Critère de réussitePoints
Valider5
Communiquer2
Total de l'activité7

Trace écrite (à faire recopier ou à déposer sur l'ENT)

for t in temperatures permet de parcourir une liste. Un compteur augmente de 1 à chaque condition vérifiée. Un accumulateur sert à calculer une somme. On structure un programme avec des fonctions.

Barème récapitulatif des activités notées

ActivitéPoints
Activité 1 · S'approprier6
Activité 2 · Analyser, raisonner7
Activité 3 · Valider, communiquer7
Total20 / 20

Fiche à trous · corrigé

Une liste se note entre crochets.

Le premier élément d'une liste a pour indice 0.

La méthode append ajoute un élément à la fin d'une liste.

La fonction len donne le nombre d'éléments d'une liste.

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°QuestionBarèmeCorrigé et critères
1On définit mesures = [12, 15, 9, 17, 11]. Que valent mesures[0], mesures[3] et len(mesures) ?4 pts12 ; 17 ; 5. Un point chacun, plus un point pour l'indice qui commence à 0.
2Écrivez une fonction moyenne(liste) qui renvoie la moyenne des éléments d'une liste à l'aide d'une boucle, et testez‑la sur mesures. Puis écrivez la liste en compréhension des images de 0, 1, 2, 3, 4, 5 par f(x) = x × x − 3.8 ptstotal = 0 ; for m in liste : total = total + m ; return total / len(liste) ; résultat 12,8. Liste : −3, −2, 1, 6, 13, 22. Fonction (5 pts), compréhension (3 pts).
3Un capteur relève une température par heure : 18, 21, 25, 29, 31, 27, 22. Écrivez un programme qui compte les heures où la température dépasse 26 °C et expliquez son fonctionnement à un collègue. Pour bien commencer : *Le programme parcourt…* · *À chaque température, il teste…* · *À la fin, la variable compteur contient…*8 ptscompteur = 0 ; for t in temperatures : if t > 26 : compteur = compteur + 1 ; résultat 3. Programme (4 pts), explication (4 pts).
Total20 pts

Pistes pour un rythme de travail différent