L’algorithme le plus performant Classe(s) : 3ème Comparer sur des exemples lequel de l’algorithme d’Euclide et de l’algorithme des soustractions mène par le moins de calculs au PGCD de deux nombres. 1) Objectifs Mathématiques : Réinvestir les manipulations successives vues en classe lors de l’utilisation d’un algorithme menant au PGCD de deux nombres. Informatique : Utilisation d’un tableur pour effectuer simultanément un grand nombre de calculs complexes de façon automatisée. 2) Énoncé de l’exercice Dans les cellules C2 et C4, entrer respectivement les nombres a=462 et b=339 dont on cherche le PGCD. On retrouve ces nombres dans les cellules E5 et F5 et dans les cellules I5 et J5. 1ère partie : Programmation de l’algorithme d’Euclide L’objectif est dans cette partie de créer une feuille de calcul donnant le PGCD de deux nombres à l’aide de l’algorithme d’Euclide. Le tableau présentera les divisions successives effectuées dans cet algorithme. 1) Dans la cellule G5, entrer la formule =MOD(E5;F5) affichant le reste de la division du nombre inscrit dans la cellule E5 par celui inscrit dans la cellule F5. 2) a) Dans la cellule E6, entrer la formule suivante =F5 b) Dans la cellule F6, entrer =G5 c) La cellule G6 doit afficher le reste de la division du nombre inscrit dans la cellule E6 par le nombre inscrit dans la cellule F6. Entrer la formule dans la cellule G6. 3) Entrer les formules dans les cellules E7, F7 et G7. 4) Copier rapidement ces formules vers le bas jusqu’à l’obtention du PGCD de a et b. Dans quelle cellule s’affiche-t-il ? Comment le reconnaît-on ? Quel est alors le PGCD de a et b ? Y.Monka 2ème partie : Programmation de l’algorithme des soustractions et comparaison L’objectif est dans cette partie de créer une feuille de calcul donnant le PGCD de deux nombres à l’aide de l’algorithme des soustractions. Le tableau présentera les différences successives effectuées dans cet algorithme. 1) Dans la cellule K5, entrer une formule affichant la différence du nombre inscrit dans la cellule I5 par celui inscrit dans la cellule J5. 2) a) Dans la cellule I6, entrer la formule =MAX(J5;K5) affichant le plus grand des deux nombres inscrits dans les cellules J5 et K5. b) Dans la cellule J6, entrer une formule affichant le plus petit des deux nombres inscrits dans les cellules J5 et K5. c) La cellule K6 doit afficher la différence du nombre inscrit dans la cellule I6 par le nombre inscrit dans la cellule J6. Entrer la formule dans la cellule K6. 3) Entrer les formules dans les cellules I7, J7 et K7. 4) Copier rapidement ces formules dans les autres cellules des colonnes I, J et K jusqu’à l’obtention du PGCD de a et b. - Dans ce cas précis, quel algorithme affiche le PGCD de a et b en effectuant le moins d’opérations ? - À l’aide du tableur, trouver le PGCD d’autres couples de nombres et dans chaque cas, donner le nombre de lignes de calcul nécessaires pour chaque algorithme. - À l’aide du tableur, trouver le PGCD de deux nombres consécutifs supérieurs à 100. - Quel semble être l’algorithme le plus performant ? Consignes orales : Une production écrite est demandée aux élèves. Celle-ci pourra être ramassée en fin d’heure ou donnée en devoir. - - - L’activité se déroule dans la salle de classe. Les élèves prennent de quoi écrire pendant que le professeur ouvre le fichier du tableur « Compa_algo » projeté sur un écran à l’aide d’un vidéoprojecteur. Les élèves n’ont pas connaissance de l’énoncé ci-dessus. Le professeur donne les objectifs de la séance et guide les élèves pas à pas afin d’instaurer un débat et de confronter les idées émanant de la classe. L’activité peut s’organiser également en salle multimédia avec un ou deux élèves par poste 3) Scénario Classe de 3ème – 27 élèves en classe entière Durée : 30 minutes à 1 heure Contenu et organisation des séances : Ce qui a été fait avant : - Mathématiques : L’activité arrive en fin de chapitre. Les élèves connaissent et « maîtrisent » les deux algorithmes. Y.Monka - Informatique : Utilisation du tableur par l’élève ou en classe par le professeur pour écrire des formules simples, trier des données ou créer des graphiques. Le jour de la mise en œuvre (témoignage de l’enseignant) : « Les élèves voient immédiatement l’apport du tableur lorsqu’on désire obtenir le reste de la division de deux nombres. Les élèves ne connaissent pas la fonction « mod ». Je leur montre comment la trouver dans la rubrique « Aide ». Dans la suite de la première partie, les élèves proposent de reporter directement la valeur du diviseur et du reste plutôt que de les récupérer de façon automatique à l’aide de formules. Je justifie que leur choix n’est pas bon en tentant de copier la ligne ainsi créée et en constatant que l’on obtient alors des résultats identiques. Dans la deuxième partie, un débat long et constructif se fait autour de la méthode pour éviter une différence négative. Certains élèves proposent de chercher une fonctionnalité du tableur « effaçant le signe d’un nombre ». J’en profite pour montrer l’existence de la fonction « abs ». Une grande partie du temps restant est consacrée à l’utilisation de la feuille de calcul ainsi réalisée sur de nombreux exemples. Le cas de deux nombres consécutifs supérieurs à 100 est très convaincant. » Ce qui a été fait après : Sans aller jusqu’à formaliser une démonstration du résultat, il est possible de justifier qu’une seule division peut remplacer une longue série de soustractions qui se répètent. Suite à l’activité, la plupart des élèves, convaincus, ont abandonné l’algorithme des soustractions. Ce n’était pas nécessairement le but ! Les outils nécessaires ou utiles : Matériel : Un poste informatique relié à un vidéoprojecteur Fichier : Feuille de calcul : compa_algo.ods ou compa_algo.xls Logiciel : Un tableur : Open Office Calc (http://www.openoffice.org) ou Excel Y.Monka