ALGORITHMIQUE AU COLLÈGE
C.Prouteau
IREM de Paris - Groupe algorithmique
APMEP Ile de France
Mercredi 30 mars 2016
1
PLAN
 Algo débranché au collège : quelques
activités
 Scratch : autre proposition de démarrage
 L’évaluation de l’algor...
ALGO DÉBRANCHÉ AU COLLÈGE
 En 6ème, les opérations posées
 En 6ème, la multiplication égyptienne
 En 5ème, reconnaitre ...
LES OPÉRATIONS POSÉES : ÉNONCÉ
 Que dire à un ami au téléphone pour lui permette de faire une
addition posée de deux nomb...
LES OPÉRATIONS POSÉES : LE TABLEAU
 Créer un tableau de 4 lignes qu'on appellera dans l'ordre :
retenue, terme 1, terme 2...
LES OPÉRATIONS POSÉES : L’ALGORITHME
1. Place toi dans la colonne de droite.
2. Additionne les cases des lignes 1, 2 et 3 ...
LA MULTIPLICATION ÉGYPTIENNE
7
LA MULTIPLICATION ÉGYPTIENNE
8
RECONNAITRE UN TABLEAU DE PROPORTIONNALITÉ
Version 1 :
 Je me place sur la première colonne et je divise le
nombre d'en b...
RECONNAITRE UN TABLEAU DE PROPORTIONNALITÉ
Version 2 :
 Je me place sur la première colonne et je divise le nombre
d'en b...
RECONNAITRE UN TABLEAU DE PROPORTIONNALITÉ
Version 3 :
 Je me place sur la première colonne.
 Tant qu'en haut il y a un ...
SCRATCH ET SYMÉTRIE CENTRALE
 Lors du cours sur la symétrie centrale et
d’exercices sur papier quadrillés, cela peut aide...
SCRATCH ET SYMÉTRIE CENTRALE
 Enoncé extrait de Multimath 5ème : Reproduire la
figure puis construire son symétrique par ...
SCRATCH ET SYMÉTRIE CENTRALE
 Au tableau, on nomme les points et on écrit le
programme permettant au lutin d’aller de B à...
SCRATCH ET SYMÉTRIE CENTRALE
 Reproduction de la figure par le lutin et coordonnées
 Déplacements en pixels...
15
SCRATCH ET SYMÉTRIE CENTRALE
 Reproduction de la figure par le lutin et coordonnées
 Réutilisation de la notion d’échell...
LE PROBLÈME DES POIGNÉES DE MAINS
Si toutes les personnes de la salle se serrent la main une fois et
une seule, combien y ...
LE PROBLÈME DES POIGNÉES DE MAINS (1)
18
 Algorithme : Pour un groupe de n personnes :
 On initialise le nombre total de...
LE PROBLÈME DES POIGNÉES DE MAINS (1)
19
 Au début de chaque tour de boucle, les personnes déjà
présentes se sont déjà to...
LE PROBLÈME DES POIGNÉES DE MAINS (2)
20
 Algorithme : Pour un groupe de n personnes :
 On initialise le nombre total de...
LE PROBLÈME DES POIGNÉES DE MAINS (2)
21
 Il est logique de retirer du groupe une personne qui a déjà
serré la main à tou...
COMMENT DÉMARRER EN CLASSE ?
Des outils en ligne pour travailler en autonomie :
 Le site « hour of code » pour un démarra...
COMMENT DÉMARRER EN CLASSE ?
Après une heure de « Hour of code » :
 Vidéo de classe
Comment démarrer autrement :
 Exempl...
L’ÉVALUATION
 Dans la réforme du collège, l’enseignement de
l’algorithmique et de la programmation a fait son
apparition ...
 Que doit-on évaluer ?
 Comment l’évaluer ?
 Comment rendre cette évaluation constructive
pour l’élève ?
PLUSIEURS QUES...
 Savoir lire un algorithme ;
 Savoir exécuter un algorithme ;
 Comprendre un algorithme ;
 Savoir écrire / compléter u...
SAVOIR LIRE UN ALGORITHME
27
 Cette compétence suppose de savoir reconnaître
un algorithme.
 Question : qu’est-ce qui n’...
SAVOIR LIRE UN ALGORITHME
28
 Un exemple d’algorithme :
Je pars de 0.
J’ajoute 1 au résultat précédent.
Puis j’ajoute 2.
...
SAVOIR LIRE UN ALGORITHME
29
 Mais on a plus souvent l’habitude de le rencontrer
sous cette forme :
S ← 0;
pour k allant ...
SAVOIR LIRE UN ALGORITHME
30
 Et sous la forme Scratch :
30
SAVOIR EXÉCUTER UN ALGORITHME
31
 Que fait le programme si l'utilisateur répond 3 ?
 Que fait le programme si l'utilisat...
COMPRENDRE UN ALGORITHME
32
 Que fait ce programme ?
32
Quels sont les problèmes liés à ce genre d'énoncé ?
COMPRENDRE UN ALGORITHME
33
 Autre version :
Parmi les affirmations suivantes, laquelle vous semble vraie à la
fin de ce ...
COMPRENDRE UN ALGORITHME
34
 Voici un programme contenant un lutin "Balle" à 5
costumes correspondant à 5 couleurs différ...
COMPRENDRE UN ALGORITHME
35
 Que trace le lutin quand on lance ce programme?
35
COMPRENDRE UN ALGORITHME
36
 Laquelle des quatre figures ci-dessous trace le
lutin quand on lance le programme suivant ?
...
COMPRENDRE UN ALGORITHME : CORRECTION
POURQUOI UN ALGORITHME EST-IL FAUX
37
 Choisir le ou les programmes permettant de
c...
COMPRENDRE UN ALGORITHME : CORRECTION
POURQUOI UN ALGORITHME EST-IL FAUX
38
 On se propose de mettre en œuvre un programm...
SAVOIR COMPLÉTER UN ALGORITHME
41
 Programme 1 :
 Compléter le programme
ci-contre pour qu'il fasse
la même chose que le...
SAVOIR CORRIGER UN ALGORITHME
42
 On souhaite réaliser un programme permettant de
tracer la figure suivante :
 Le progra...
ÉVALUATION DES PROJETS ET DES PROGRAMMES
 Organisation et fonctionnement du groupe
 Planification / décomposition du tra...
Algorithmique au collège (C.Prouteau)
Algorithmique au collège (C.Prouteau)
Prochain SlideShare
Chargement dans…5
×

Algorithmique au collège (C.Prouteau)

298 vues

Publié le

Algorithmique au collège avec Scratch
Cécile Prouteau IREM Paris

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
298
Sur SlideShare
0
Issues des intégrations
0
Intégrations
154
Actions
Partages
0
Téléchargements
3
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Algorithmique au collège (C.Prouteau)

  1. 1. ALGORITHMIQUE AU COLLÈGE C.Prouteau IREM de Paris - Groupe algorithmique APMEP Ile de France Mercredi 30 mars 2016 1
  2. 2. PLAN  Algo débranché au collège : quelques activités  Scratch : autre proposition de démarrage  L’évaluation de l’algorithmique au collège 2
  3. 3. ALGO DÉBRANCHÉ AU COLLÈGE  En 6ème, les opérations posées  En 6ème, la multiplication égyptienne  En 5ème, reconnaitre un tableau de proportionnalité  En 5ème, Scratch et symétrie centrale  En 3ème , l’algorithme d’Euclide (activité inspirée d’un article d’A.M. Cavalier http://www.apmep.fr/IMG/pdf/plot06AC.pdf et en non débranchée)  Des problèmes de tri (bouteilles, gros sel et balance de Roberval)…  A partir de la 6ème problème ouvert : les poignées de main  Activités de l’IREM de Paris (http://www.irem.univ-paris- diderot.fr/articles/stage_algorithmique_et_programmation_au_colleg e_2016_documents_et_liens/ )  Activités de l’IREM de Clermont-Ferrand (http://www.irem.univ- bpclermont.fr/Informatique-sans-Ordinateur ) 3
  4. 4. LES OPÉRATIONS POSÉES : ÉNONCÉ  Que dire à un ami au téléphone pour lui permette de faire une addition posée de deux nombres décimaux alors que son micro ne fonctionne pas ?  Il connait le vocabulaire des nombres et les tables d’addition de 1 à 10 mais il n’a jamais posé d’addition. 4
  5. 5. LES OPÉRATIONS POSÉES : LE TABLEAU  Créer un tableau de 4 lignes qu'on appellera dans l'ordre : retenue, terme 1, terme 2 et résultat.  Ecrire les deux nombres sans zéro inutile et prendre celui qui a la partie décimale la plus longue. Le recopier de la droite vers la gauche dans la ligne terme 1 du tableau. Repérer le numéro de colonne correspondant au chiffre des unités.  Ecrire le deuxième nombre dans la ligne terme 2 du tableau en alignant son chiffre des unités avec celui qui se trouve dans terme 1. A droite de ce nombre dans la 3ème ligne (terme 2) remplir toutes les cases qui sont vides de zéros. 5
  6. 6. LES OPÉRATIONS POSÉES : L’ALGORITHME 1. Place toi dans la colonne de droite. 2. Additionne les cases des lignes 1, 2 et 3 (retenue, terme 1 et terme 2). Mets le chiffre des unités dans la case de la ligne 4 (résultat). 3. Si le résultat est strictement inférieur à 10, mettre un zéro dans la case de la ligne 1 (retenue) de la colonne qui se trouve juste à gauche. 4. Sinon, (le résultat est supérieur ou égal à dix) on met le chiffre des dizaines dans la case de la ligne 1 (retenue) de la colonne qui se trouve juste à gauche (dans ce cas nous savons que c'est un 1). 5. Si la colonne de gauche est vide, c’est terminé. Sinon, je me déplace d'un cran vers la gauche et je recommence à l’étape 2 Deuxième étape : utilisation de la boucle Tant que la colonne de gauche n'est pas vide, se déplacer d'une colonne vers la gauche et recommencer à partir de l’étape 2. 6
  7. 7. LA MULTIPLICATION ÉGYPTIENNE 7
  8. 8. LA MULTIPLICATION ÉGYPTIENNE 8
  9. 9. RECONNAITRE UN TABLEAU DE PROPORTIONNALITÉ Version 1 :  Je me place sur la première colonne et je divise le nombre d'en bas par le nombre d'en haut on l'appelle k. C'est le coefficient de proportionnalité « potentiel ».  Pour toutes les autres colonnes, je multiplie le nombre d'en haut par k et je vérifie si le résultat est égal au nombre d'en bas.  Si pour toutes les colonnes le résultat est le même, alors ce tableau est un tableau de proportionnalité.  Sinon, Ce n'est pas un tableau de proportionnalité. 9
  10. 10. RECONNAITRE UN TABLEAU DE PROPORTIONNALITÉ Version 2 :  Je me place sur la première colonne et je divise le nombre d'en bas par le nombre d'en haut on l'appelle k. C'est le coefficient de proportionnalité « potentiel ».  Tant qu'il y a une colonne à droite :  Je me décale d'une colonne vers la droite.  Je multiplie le nombre d'en haut par k et je vérifie si le résultat est égal au nombre d'en bas.  Si le résultat est le même, alors je continue (je reviens au début de la boucle Tant que).  Sinon, je réponds que ce n'est pas un tableau de proportionnalité et je m'arrête.  Je réponds que c’est un tableau de proportionnalité 10
  11. 11. RECONNAITRE UN TABLEAU DE PROPORTIONNALITÉ Version 3 :  Je me place sur la première colonne.  Tant qu'en haut il y a un zéro :  Je regarde si le nombre d'en bas est un zéro :  Si le nombre d'en bas est un zéro je me décale d'une colonne vers la droite (si elle existe et je reviens au 2)  Sinon( le nombre d'en bas n'est pas un zéro) ce n'est pas un tableau de proportionnalité et je m'arrête.  Je divise le nombre d'en bas par le nombre d'en haut on l'appelle k. C'est le coefficient de proportionnalité « potentiel ».  Tant qu'il y a une colonne à droite :  Je me décale d'une colonne vers la droite.  Je multiplie le nombre d'en haut par k et je vérifie si le résultat est égal au nombre d'en bas.  Si le résultat est le même, alors je continue (je reviens au début de la boucle Tant que).  Sinon, je réponds que ce n'est pas un tableau de proportionnalité et je m'arrête.  Je réponds que c’est un tableau de proportionnalité 11
  12. 12. SCRATCH ET SYMÉTRIE CENTRALE  Lors du cours sur la symétrie centrale et d’exercices sur papier quadrillés, cela peut aider certains élèves d’utiliser le principe de programmation scratch sur papier ou au tableau pour :  Construire le symétrique d’un point par rapport à un autre un papier quadrillé  Reproduire une figure sur papier quadrillé  Cela peut également être l’occasion d’introduire les coordonnées du plan avec les nombres relatifs sans pour autant avoir commencé le cours sur les relatifs.  C’est également une bonne occasion de parler de vecteur et de translation sans pour autant formaliser… 12
  13. 13. SCRATCH ET SYMÉTRIE CENTRALE  Enoncé extrait de Multimath 5ème : Reproduire la figure puis construire son symétrique par rapport au point O. 13
  14. 14. SCRATCH ET SYMÉTRIE CENTRALE  Au tableau, on nomme les points et on écrit le programme permettant au lutin d’aller de B à O puis de O à B’… C’est le même déplacement, la même translation, qui permet d’aller de B à O et de O à B’… 14 S'orienter à 90° Avancer de 5 Tourner droite de 90° Avancer de 3
  15. 15. SCRATCH ET SYMÉTRIE CENTRALE  Reproduction de la figure par le lutin et coordonnées  Déplacements en pixels... 15
  16. 16. SCRATCH ET SYMÉTRIE CENTRALE  Reproduction de la figure par le lutin et coordonnées  Réutilisation de la notion d’échelle… 16
  17. 17. LE PROBLÈME DES POIGNÉES DE MAINS Si toutes les personnes de la salle se serrent la main une fois et une seule, combien y a-t-il de poignées de mains ? 17 Notons n le nombre de personnes dans le groupe et m le nombre de poignées de mains. n=2 n=3 n=4 n=5 n=6 m=1 m=3 m=6 m=10 m=15 Conjecture : Il semble que le nombre de poignés de mains est n(n-1)/2
  18. 18. LE PROBLÈME DES POIGNÉES DE MAINS (1) 18  Algorithme : Pour un groupe de n personnes :  On initialise le nombre total de poignées de main à 0  On initialise le nombre de personne à 0  Pour k allant de 1 à n par pas de 1 :  La kème personne arrive  On lui fait serrer la main aux k-1 personnes qui sont déjà présentes. On ajoute donc k-1 poignées de mains au total déjà obtenu.  Fin de Pour  On retourne le total obtenu
  19. 19. LE PROBLÈME DES POIGNÉES DE MAINS (1) 19  Au début de chaque tour de boucle, les personnes déjà présentes se sont déjà toutes serrées la main une fois et une seule. Il est logique que seul le nouvel arrivant doit alors serrer la main à tous les autres pour conserver cette propriété en fin de boucle.  Comme on ajoute une personne à chaque fois, le nombre de personnes du groupe et donc le nombre de poignées de mains augmentent de 1 à chaque étape.  C’est ce qu’expérimentent les élèves quand ils se serrent la main…
  20. 20. LE PROBLÈME DES POIGNÉES DE MAINS (2) 20  Algorithme : Pour un groupe de n personnes :  On initialise le nombre total de poignées de main à 0  Tant qu’il y a strictement plus d’une personne dans le groupe :  On choisit une personne  On lui fait serrer la main à tous les autres qui restent et on note le nombre de poignées de mains que l’on ajoute au total déjà obtenu  On la retire du groupe  Fin de tant que  On retourne le total obtenu
  21. 21. LE PROBLÈME DES POIGNÉES DE MAINS (2) 21  Il est logique de retirer du groupe une personne qui a déjà serré la main à toutes les autres puisqu’il ne peut serrer la main 2 fois à quelqu’un.  On fait remarquer aux élèves qu’à force de retirer les personnes du groupe il finira par rester une seule personne donc on finira bien par sortir de la boucle Tantque.  Comme on retire une personne à chaque fois le nombre de personnes du groupe et donc le nombre de poignées de mains diminuent de 1 à chaque fois.
  22. 22. COMMENT DÉMARRER EN CLASSE ? Des outils en ligne pour travailler en autonomie :  Le site « hour of code » pour un démarrage et une initiation en autonomie des élèves.  Concours Castor (épreuves des années précédentes en ligne) 22
  23. 23. COMMENT DÉMARRER EN CLASSE ? Après une heure de « Hour of code » :  Vidéo de classe Comment démarrer autrement :  Exemple 1 : document créé à partir des documents ressources  Exemple 2 : Rosace de carrés à partir de capsules vidéos (article avec les vidéos téléchargeables). Débriefing de 5 min en classe après la séance. Ces élèves ont participé au concours Castor. Ils ont ensuite travaillé sur le tableau de proportionnalité. Ils ont eu « Hour of code-star wars » à faire en « devoirs de Noel »… 23
  24. 24. L’ÉVALUATION  Dans la réforme du collège, l’enseignement de l’algorithmique et de la programmation a fait son apparition dans les programmes de Mathématiques.  De façon naturelle se pose la question de l’évaluation.  Exercices téléchargeables sur le site de l’IREM de Paris (énoncés format ODT, énoncés au format PDF, programmes) 24
  25. 25.  Que doit-on évaluer ?  Comment l’évaluer ?  Comment rendre cette évaluation constructive pour l’élève ? PLUSIEURS QUESTIONS SE POSENT 25
  26. 26.  Savoir lire un algorithme ;  Savoir exécuter un algorithme ;  Comprendre un algorithme ;  Savoir écrire / compléter un algorithme ;  Savoir corriger un algorithme.  Et pour la partie programmation :  Concevoir, organiser, écrire un programme  Mener un projet.  Travailler en groupe PLUSIEURS COMPÉTENCES EN ALGORITHMIQUE SE DÉGAGENT 26
  27. 27. SAVOIR LIRE UN ALGORITHME 27  Cette compétence suppose de savoir reconnaître un algorithme.  Question : qu’est-ce qui n’est pas un algorithme ? Exemple : une recette de cuisine. Pourquoi ? Présence d’implicites, instructions ambigües, excessivement réducteur. . . Et résultat non garanti ! 27
  28. 28. SAVOIR LIRE UN ALGORITHME 28  Un exemple d’algorithme : Je pars de 0. J’ajoute 1 au résultat précédent. Puis j’ajoute 2. Je continue ainsi jusqu’à ce que j’ajoute 20. J’annonce le dernier résultat obtenu. 28
  29. 29. SAVOIR LIRE UN ALGORITHME 29  Mais on a plus souvent l’habitude de le rencontrer sous cette forme : S ← 0; pour k allant de 1 à 20 faire S ← S + k retourner S 29
  30. 30. SAVOIR LIRE UN ALGORITHME 30  Et sous la forme Scratch : 30
  31. 31. SAVOIR EXÉCUTER UN ALGORITHME 31  Que fait le programme si l'utilisateur répond 3 ?  Que fait le programme si l'utilisateur répond -5 ? 31
  32. 32. COMPRENDRE UN ALGORITHME 32  Que fait ce programme ? 32 Quels sont les problèmes liés à ce genre d'énoncé ?
  33. 33. COMPRENDRE UN ALGORITHME 33  Autre version : Parmi les affirmations suivantes, laquelle vous semble vraie à la fin de ce programme, pour n'importe quel nombre saisi par l'utilisateur ? 1. Le lutin dit un nombre qui a la même valeur que le nombre saisi. 2. Le lutin dit un nombre qui a la même valeur que l'opposé du nombre saisi. 3. Le lutin dit un nombre qui a la même valeur que la distance à zéro du nombre saisi. 4. Le lutin dit un nombre qui a la même valeur que l'inverse du nombre saisi. 33
  34. 34. COMPRENDRE UN ALGORITHME 34  Voici un programme contenant un lutin "Balle" à 5 costumes correspondant à 5 couleurs différentes : Que se passe-t-il sur la scène quand on lance ce programme? 34
  35. 35. COMPRENDRE UN ALGORITHME 35  Que trace le lutin quand on lance ce programme? 35
  36. 36. COMPRENDRE UN ALGORITHME 36  Laquelle des quatre figures ci-dessous trace le lutin quand on lance le programme suivant ? 36
  37. 37. COMPRENDRE UN ALGORITHME : CORRECTION POURQUOI UN ALGORITHME EST-IL FAUX 37  Choisir le ou les programmes permettant de construire la figure ci-contre : Vous expliquerez pour chaque programme qui ne fonctionne pas ce qui pose problème. 37
  38. 38. COMPRENDRE UN ALGORITHME : CORRECTION POURQUOI UN ALGORITHME EST-IL FAUX 38  On se propose de mettre en œuvre un programme qui, pour un entier naturel n, non nul, choisi par l’utilisateur, affiche le nombre de diviseurs de n.  Parmi ces quatre versions de programme ci- dessous, une ne répond pas au problème. Laquelle et pourquoi ? 38
  39. 39. SAVOIR COMPLÉTER UN ALGORITHME 41  Programme 1 :  Compléter le programme ci-contre pour qu'il fasse la même chose que le programme 1 : 41
  40. 40. SAVOIR CORRIGER UN ALGORITHME 42  On souhaite réaliser un programme permettant de tracer la figure suivante :  Le programme suivant comporte une ou plusieurs erreurs. Corrigez-les : 42
  41. 41. ÉVALUATION DES PROJETS ET DES PROGRAMMES  Organisation et fonctionnement du groupe  Planification / décomposition du travail  Est-ce que le programme fonctionne ?  Est-il clair et bien décomposé ?  La programmation est elle efficace :  Le programme est compact, astucieux, rapide ???  Bon choix de boucles  Bonne gestion des branchements conditionnels  Utilisation des opérateurs booléens à bon escient  Le programme est commenté  ...  Pas besoin d’être un virtuose pour avoir la « note » maximale  Un projet peut être modeste s’il est bien mené, construit et cohérent, les compétences peuvent être validées. 43

×