1) Objectifs

publicité
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
Téléchargement