La programmation au brevet des collèges 2017

dimanche 7 mai 2017
par  Alain BUSSER

Le brevet des collèges 2017 a vu l’apparition de programmes en Scratch dans les sujets. C’est la première session depuis que Scratch est au programme. Et c’est aussi la dernière étape vers la programmation textuelle au lycée.

Note : Cet article est lié à l’actualité, et évoluera donc selon celle-ci, au gré de l’apparition (a priori fréquente) de programmes dans les sujets du brevet 2017.

Le calendrier a fait qu’une fois de plus, Pondichery a été l’académie pionnière. Ce sont les élèves de ce collège qui ont découvert à quoi peut ressembler un sujet sur Scratch par écrit. Les élèves des deux classes de 3e de Pondichery, n’ayant pas trop souffert de problèmes d’équipement, et malgré la disparition d’une demi-heure, ont été régulièrement entraînés à Scratch durant tout le tiers de cycle 2016-2017, et ne semblent pas avoir été trop déroutés par le sujet : Leurs enseignants ont anticipé sur l’utilisation algébrique de Scratch.

Voici, à fin de comparaison, les versions Sofus et Scratch du programme de calcul de Julie :

Sofus Scratch

Et encore, la version Scratch devait être précédée de la liste des variables :

Oui, la première variable s’appelle bien « étape 1 » et pas « variable 1 » : Au brevet, les étapes ne sont plus des instants, mais des nombres ! En fait, pour justifier que le nombre final est 20 lorsque le nombre initial est 5, on devrait rédiger quelque chose comme :

  • au départ le nombre est égal à 5 (par hypothèse) ;
  • à l’étape suivante (après l’avoir sextuplé), le nombre est devenu égal à 30 ;
  • à la seconde étape (après augmentation de 10), le nombre a encore changé et est devenu égal à 40 ;
  • enfin, à la dernière étape (après division par 2), le nombre (qui ne cesse de varier, c’est pour ça qu’on l’appelle une variable), est finalement égal à 20, cqfd.

Le problème avec les variables, c’est qu’elle varient. On ne peut donc parler de la valeur de la variable, que si on précise à quel instant on veut connaître la valeur. Ce qui, conceptuellement, est difficile à suivre [1], surtout avec des langages de programmation ne possédant pas de mots comme « sextupler », permettant de faire les transformations in situ. Alors la solution trouvée dans ce sujet, consiste à n’utiliser aucune variable mais que des constantes. Et à donner à chaque constante le nom qui évoque à quel moment on l’a affectée histoire de s’y retrouver dans tout ça [2].

logique ?

Mmmmh et quand on veut programmer des boucles, on fait comment avec cette méthode ? Et pourquoi le programme (qui était autrefois dit « de calcul ») ne donne pas de nombre, mais se borne à dire des messages ? Quoiqu’il en soit, la partie sur le calcul formel ressemble à une démonstration, si on la rédige ainsi :

  • au départ le nombre choisi est égal à x ;
  • donc étape 1 = 6x ;
  • donc étape 2 = 6x+10 ;
  • donc le résultat est la moitié de 6x+10, soit 3x+5.

On se rapproche d’un raisonnement logique, mais le nom des variables constantes comportant des espaces, les égalités laissent croire que 1=6x ce qui n’est pas nécessairement le cas...

calcul formel

En redéfinissant le programme de Julie comme une fonction, on peut l’exporter vers Xcas ; on a ceci :

function Julie(nombre) {
  nombre := nombre * 6;
  nombre := nombre + 10;
  nombre := nombre / 2;
  return nombre;
}:;

Mais depuis la version 2.0 de Sofus on peut, dans le programme ci-dessus, entrer « x » à la place de 7 :

L’affichage final permet de voir que le programme de calcul est affine.

Comme les élèves du collège de Pondichery n’ont pas encore droit à Sofus pendant l’épreuve, ils doivent, soit faire les calculs à la main (faire le 3 avant le 2), soit savoir qu’on doit « remonter les calculs à l’envers » s’ils veulent faire le 2 d’abord. C’est ainsi qu’on résout l’équation :

  • on part de la fin : (6x+10)/2=8 ;
  • on multiplie les deux membres par 2 : 6x+10=8×2=16 ;
  • on soustrait 10 aux deux membres de la nouvelle équation : 6x=16-10=6 ;
  • on divise les deux membres par 6 : x=1.

Voici le script Sofus :

En collant (« ajouter ») à l’expression 3x+5, le texte « =8 », on construit une équation : 3x+5=8, dont les solutions (en fait il n’y en a qu’une) peuvent être calculées et affichées avec Sofus.

L’approche ci-dessus qui est celle d’Al Khwarizmi, permet d’évaluer la compétence « résolution des équations » ; mais comme « Comprendre et utiliser la notion de fonction »
constitue un attendu de fin de cycle, on peut préférer l’approche transformationelle ci-dessous, qui lui est, dans ce cas, équivalente [3] :

En calcul formel, cette remontée des calculs s’exprime ainsi, par des substitutions :

Pour la dernière question, on peut programmer le nombre de Julie et celui de Maxime comme deux fonctions, et les exporter vers Xcas :

function Julie(nombre) {
  nombre := nombre * 6;
  nombre := nombre + 10;
  nombre := nombre / 2;
  return nombre;
}:;
function Maxime(nombre) {
  nombre := nombre + 2;
  nombre := nombre * 5;
  return nombre;
}:;

Mais le calcul formel de Sofus est suffisant pour trouver l’unique nombre donnant la même réponse avec les deux programmes :

tableur

Dans un premier temps, on peut envisager de raccourcir les noms des variables constantes, selon le dictionnaire suivant :

énoncé tableur
x A1
étape 1 A2
étape 2 A3
résultat A4

Du coup, le script se traduit (sans les affichages) ainsi :

7
=6*A1
=A2+10
=A3/2

Et ça y est, on a une feuille de tableur ! Celle-ci peut servir de support de preuve, et des questions sur les formules à écrire dans un tableur, ont déjà été posées au brevet des collèges, même si ce n’a pas jusqu’à présent été pour des programmes de calcul. D’ailleurs, l’onglet « Blockly/Xcas » de mathem@algo permet un export automatique depuis le programme Sofus, vers le tableur Xcas.

On peut même faciliter l’entrée des données à l’aide des curseurs :

OpenDocument Spreadsheet - 14.7 ko

En résumé, ce sujet, s’il est intéressant per se, pose la question de la pertinence de Scratch pour des activités numériques, du moins sur des programmes de calcul. Il pose aussi la question du mode d’évaluation, un sujet écrit n’étant pas nécessairement pertinent sur un logiciel fait pour manipuler en ligne.


[1On remarque que le même mot « résultat » désigne, dans le script, trois choses différentes :

  • le premier résultat intermédiaire (le nombre sextuplé, auquel on ajoute 10) ;
  • le second résultat intermédiaire (destiné à être divisé par 2) ;
  • une variable contenant le nombre « dit » à la fin.

[2En fait, l’affichage des quatre constantes l’une en-dessous de l’autre aboutit à une émulation de tableur par Scratch. Dans ce cas on peut se demander qu’est-ce qui, en dehors d’un effet de mode, a pu faire préférer Scratch au tableur, dans lequel les quatre constantes se seraient appelées par exemple A1, A2, A3 et A4 tout simplement...

[3Schéma préparé par l’un des collègues ayant essuyé les plâtres de l’autre côté de cet océan.


Commentaires

Annonces

Prochains rendez-vous de l’IREM

Séminaire EDIM-IREM

- Mercredi 3 mai 2017, 14h-18h, PTU, Saint-Denis, salle S23.6
- Mardi 13 juin 2017, 14h-18h, campus du Tampon
- Mercredi 14 juin 2017, 14h-18h, PTU, Saint-Denis, salle S23.6


Brèves

À travers les labyrinthes : algorithmes et fourmis

dimanche 1er septembre 2013

Quand les chercheurs mettent au point des modèles d’optimisation et de recherche de plus court chemin qui s’inspirent du comportement de masse de colonies de fourmis...
À écouter : Sur les Épaules de Darwin, émission diffusée sur France Inter samedi 31 août 2013.

Rencontres Mondiales du Logiciel Libre à St-Joseph

mardi 20 août 2013

Les RMLLd se dérouleront pour la 2e fois à Saint-Joseph du 22 au 25 août.
C’est une opportunité pour les élèves qui suivent la spécialité ISN et les passionnés d’informatique.

Voici pour le samedi et le dimanche quelques interventions choisies :
- http://2013.d.rmll.info/Raspberry-votre-ordinateur-au-format-carte-de-credit?lang=fr
- http://2013.d.rmll.info/Materiel-libre-et-DIY?lang=fr
- http://2013.d.rmll.info/Arduino-de-l-electronique-libre?lang=fr

Noter aussi les conférences Art et Culture du dimanche, ainsi qu’une conférence plus engagée.

Le programme complet se trouve ici. Une radio sera ouverte pour l’occasion.
Des plaquettes à distribuer se trouvent ici.

Hyper-vidéos pour l’algorithmique au lycée

dimanche 19 août 2012

Olivier Roizès, à la demande de l’ADIREM, a réalisé une collection d’hyper-vidéos de présentation de logiciels et environnements de programmation. Ces hyper-vidéos, c’est-à-dire des vidéos contenant des éléments clicables, devraient être utiles aux enseignants désireux de se familiariser avec Python, CaRMetal, R, Rurple, Scilab ou Xcas.

Ouverture du SILO

mardi 1er novembre 2011

Le SILO (Science Informatique au Lycée : Oui !) est un espace collaboratif documentaire de partage et de formation collégiale, à destination des professeurs appelés à enseigner l’informatique au lycée.

Une initiative du CNDP, de l’INRIA et de Pasc@line, à laquelle se sont associés SPECIF, fuscia, EPI et ePrep.

Sur le Web : Site du SILO

Introduction à la science informatique

lundi 12 septembre 2011

Le CRDP de Paris publie le premier ouvrage destiné aux professeurs chargés d’enseigner la nouvelle spécialité « Informatique et sciences du numérique » en Terminale S à la rentrée 2012. Cet ouvrage a été coordonné par Gilles Dowek, directeur de recherche à l’INRIA.

Sur la création de la spécialité ISN, on pourra également consulter l’interview donnée au Café pédagogique par l’inspecteur général Robert Cabanne.

Sur le Web : CRDP de Paris

Deux publications sur l’algorithmique

samedi 17 octobre 2009

L’IREM d’Aix-Marseille publie une brochure de 73 pages, téléchargeable librement, intitulée Algorithmes et logique au lycée. Ces notions sont illustrées et déclinées sur des exercices du programme de spécialité mathématique en série L, mais sont adaptables aux programmes à venir.

Le hors série thématique n° 37 du magazine Tangente, disponible actuellement en kiosque, s’intitule « Les algorithmes. Au cœur du raisonnement structuré ». Extrait de l’éditorial : « La rédaction de Tangente a conçu la quasi-totalité de ce hors série thématique pour qu’il puisse être lu par des élèves de Seconde ».

Une carte mentale pour l’algorithmique

jeudi 10 septembre 2009

Sur son site, Jean-Jacques Dhénin a publié une carte mentale géante qui renvoie vers plus de 30 documents en ligne sur l’algorithmique. Tout ce qu’il faut — et même davantage — pour faire face au nouveau programme de Seconde !

Un catalogue libre d’algorithmes pour le lycée

dimanche 30 août 2009

Guillaume Connan, de l’IREM de Nantes, publie un catalogue libre de 119 pages d’algorithmes pour le lycée. Sur son site très riche, on trouvera d’autres documents en rapport avec l’algorithmique, notamment sur l’utilisation des langages fonctionnels au lycée et sur la comparaison programmation fonctionnelle/programmation impérative.

L’algorithmique à l’IREM de Lille

vendredi 26 juin 2009

Le groupe AMECMI de l’IREM de Lille vient de mettre en ligne des ressources importantes au service des professeurs de Seconde :

- Algorithmique et programmation (Emmanuel Ostenne)
- Bibliographie amoureuse de l’algorithmique (Alain Juhel)

Statistiques

Dernière mise à jour

samedi 27 mai 2017

Publication

745 Articles
Aucun album photo
131 Brèves
11 Sites Web
127 Auteurs

Visites

153 aujourd'hui
593 hier
2024863 depuis le début
26 visiteurs actuellement connectés