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. 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. 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. 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. 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
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. 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. 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. 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. 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. 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. SCRATCH ET SYMÉTRIE CENTRALE
Reproduction de la figure par le lutin et coordonnées
Déplacements en pixels...
15
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. 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. 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. 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. 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. 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. 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. 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. 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. Que doit-on évaluer ?
Comment l’évaluer ?
Comment rendre cette évaluation constructive
pour l’élève ?
PLUSIEURS QUESTIONS SE POSENT
25
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. 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. 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. 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. SAVOIR LIRE UN ALGORITHME
30
Et sous la forme Scratch :
30
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
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. 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
36. COMPRENDRE UN ALGORITHME
36
Laquelle des quatre figures ci-dessous trace le
lutin quand on lance le programme suivant ?
36
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. 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.
40.
41. 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
42. 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
43. É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