Algorithmique
Depuis la réforme des programmes de mathématiques au lycée entamée dés la rentrée 2009, l'arrivée de l'algorithmique génère de nouvelles interrogations pédagogiques. L'usage des outils TICE permet de répondre efficacement à certaines attentes.
Pour démarrer
Des exemples d'approche
Pour pouvoir réellement intégrer l’algorithmique dans la progression et en faire un outil pédagogique au service de la résolution de problèmes, il faut du temps pour acquérir certaines bases, donc il est souhaitable de commencer tôt dans l'année et progressivement. On trouvera ici quelques approches proposées dans les académies.
Lire des algorithmes, les comprendre, les faire fonctionner « à la main » , les corriger
Pour comprendre la notion de variable (Strasbourg)
- Entrée
- Demander une valeur et l'affecter à a
- Demander une valeur et l'affecter à b
- Traitement
- Affecter à a le nombre a + b
- Affecter à b le nombre a - b
- Affecter à a le nombre a - b
- Sortie
- Afficher a
- Afficher b
Pour comprendre les notions d’initialisation et leur impact sur les comptages (issu d’un document de l’académie de Nancy-Metz – compte-rendu d’atelier lors des journées inter-académiques 2009)
Algorithme 1
- Saisir MOT
- Si MOT = "math"
- Afficher "erreur"
- Fin si
- Afficher "mot de passe correct"
Algorithme 2
- Saisir MOT
- Tant que MOT ≠ math
- Afficher "erreur"
- Saisir MOT
- Fin Tant que
- Afficher "mot de passe correct"
Algorithme 3
- COMPTEUR := 0
- Saisir MOT
- Tant que MOT ≠ math
- Affecter à COMPTEUR la valeur COMPTEUR + 1
- Si COMPTEUR = 2 Alors
- Afficher "trop d'erreurs"
- Fin
- Fin si
- Saisir MOT
- Fin Tant que
- Afficher "Mot de passe correct"
Algorithme 4
- COMPTEUR := 0
- Saisir MOT
- Tant que MOT ≠ math
- Si COMPTEUR = 2 alors
- Afficher "trop d'erreurs"
- Fin
- Fin si
- Affecter à COMPTEUR la valeur COMPTEUR + 1
- Si COMPTEUR = 2 alors
- Saisir MOT
- Fin Tant que
- Afficher "Mot de passe correct"
On peut aussi donner à lire des algorithmes sous forme de « boîtes noires » dont on va chercher dans un premier temps ce qu’elles produisent, en les faisant exécuter, puis dans un deuxième temps comprendre (voire justifier) leur fonctionnement.
Après avoir introduit l’algorithme de calcul des coordonnées du milieu d’un segment : « Connaissant les coordonnées d'un des points extrémité d'un segment et les coordonnées du milieu de ce segment, faire calculer les coordonnées de l'autre extrémité du segment », on peut mettre progressivement en évidence l'intérêt d'autres instructions (si-alors-sinon, tant que ...) et complexifier peu à peu un algorithme pour résoudre ainsi des problèmes que l’on enrichit.
Utiliser le vidéoprojecteur
L'usage d'un système de vidéo projection (éventuellement associé avec un TBI) peut aider à la mise en place collective de l'algorithme. On peut alors ensuite réinvestir ce qui a été fait en demandant de développer des algorithmes de difficulté similaire.
Quelques exemples de mise en œuvre proposés dans les académies
Reconnaître un parallélogramme (nouvelle fenêtre) (académie d'Amiens)
Le déroulement des différentes phases de cette activité d'introduction est présenté et illustré par des vidéos.
Fonctions affines et algorithmique (nouvelle fenêtre) (académie de Rennes)
Le scenario présente notamment une analyse de copies d'élèves et des aides qui leur sont proposées en fonction des types d'erreur.
Du tableur au langage de programmation
Certaines activités se traitent très rapidement et facilement avec un tableur… et il serait dommage de s’en passer (par exemple : trouver la somme des 500 premiers entiers, lancer 1000 fois deux dés…). Cependant dès que le problème se « complexifie », l’implémentation sur un tableur devient non pas impossible, mais plus délicate, et le recours à un autre langage de programmation facilite l’implémentation de l’algorithme.
C’est le cas par exemple lorsqu’on veut réitérer un traitement un nombre variable de fois (donné par l’utilisateur ou lié à une condition d’arrêt) ou dès que l’algorithme fait intervenir des boucles imbriquées.
- On lance un dé cubique parfait autant de fois qu’il le faut pour obtenir un six. Écrire un algorithme qui détermine le nombre de lancers nécessaires avant d’obtenir le premier six. Adapter cet algorithme afin de calculer le nombre moyen de lancers nécessaires pour obtenir un premier six. (Académie de Bordeaux)
- Problème du lièvre et de la tortue
- Politique nataliste (académie de Montpellier)
- Escargot de Pythagore : on peut par exemple commencer avec le tableur, puis poser la question pour 100 tours, ce qui amènerait loin sur le tableur.
- Encadrements par des suites, notamment lorsque la convergence est lente.
