TraAM 2017-2018 : Les triplets de Pythagore publié le 24/05/2018

Utiliser des fonctions Python et les identités remarquables pour générer et détecter des triplets pythagoriciens

Caractéristiques du scénario

Thématique

Construire la notion de fonction (informatique)

Niveau concerné

Seconde, adaptable en 4ème et 3ème.

Compétences mobilisées

Chercher, raisonner.

Problématique

Comment tester si un triplet est un triplet de Pythagore ? Comment générer des triplets pythagoriciens ?

Nombre d’heures envisagées

30 minutes en classe entière, 1h30 en salle informatique puis retour en classe entière 30 minutes pour la démonstration.

Outils et ressources

Trois fiches missions et une fiche élève, deux applications Android pour montrer une idée de résultat.

Fiche élève avec missions préalables (PDF de 398.5 ko)

Document distribué aux élèves ainsi que les trois mission à donner avant.

Deux applications Android pour mettre en commun un algorithme qui pourrait répondre aux questions :

Application Android pour tester un triplet de Pythagore (Zip de 1.4 Mo)

Montrer le résultat attendu et réfléchir aux variables utilisées

Apllication Android pour générer un triplet de Pythagore (Zip de 1.4 Mo)

Montrer le résultat attendu

Déroulement du scénario

Trois élèves sont désignés pour donner chacun sept triplets correspondant aux programmes de calcul des missions 1, 2 et 3. Un bilan est effectué en classe entière avec une question centrale : “Que peut-on dire de ces triplets ?” (Seuls les triplets de l’élève chargé de la mission 3 sont à coup sûr des triplets de Pythagore.) Il a fallu cinq bonnes minutes pour entendre parler de triangle puis de Pythagore. Je leur montre ensuite l’application sur Android afin de tester rapidement les triplets. On schématise ensuite une fonction permettant, à partir de trois nombres, de tester si le triplet saisi est pythagoricien. Les variables choisies par les élèves sont a, b et c mais aucun d’entre eux ne pense à l’ordre des nombres.

Il faut ensuite un peu plus d’une demie heure en salle informatique pour programmer une fonction permettant de tester un triplet à partir de l’exemple proposé. En effet, les première questions de la fiche élève montrent que l’ordre est important. Je leur impose de trouver le plus grand des trois nombres avant de tester l’aspect pythagoricien du triplet même certains élèves voulaient se contenter de placer les nombres dans l’ordre dans la fonction test.

Les élèves passent ensuite au deuxième objectif, la génération de triplets de Pythagore. Après compréhension du programme de calcul de la mission 3, ils doivent me donner un maximum de triplets par l’intermédiaire d’une fonction Python. Des nombres négatifs apparaissent et les élèves les plus rapides doivent remédier à cela dans leur programme.

L’utilité d’avoir créé une fonction pour tester un triplet est révélée. En effet, j’ai choisi d’imposer la création d’une fonction Python et le fait de devoir tester tous les triplets générés donne du sens à cette manière de programmer.

La dernière partie de l’activité n’a pas été effectuée en raison d’une mission particulière inopinée.

Retour d’expérience

Je pensais que la notion de Pythagore sortirait plus rapidement lors du premier bilan. Aussi, un des trois élèves désignés a oublié sa feuille sur laquelle il avait écrit ses triplets. En salle informatique, un des deux groupes d’élèves s’est retrouvé en grande difficulté face au test du plus grand des trois nombres. Je fus contraint de donner une solution.