Programmes de calcul du brevet Polynésie septembre 2014

jeudi 25 septembre 2014
par  Alain BUSSER

Le sujet du brevet Polynésie 2014 comportait deux programmes de calcul numérotés A et B :

Programme A Programme B
Choisir un nombre
Soustraire 0,5
Multiplier le résultat par le double
du nombre choisi au départ
Choisir un nombre
Calculer son carré
Multiplier le résultat par 2
Soustraire à ce nouveau résultat
le nombre choisi au départ

On va les explorer avec Sophus

Programme A

On suppose que le nombre choisi est 6. Alors on peut écrire

nombreChoisi = nouvelle Variable 6

Ceci a pour effet de créer (« new ») une variable appelée nombreChoisi, et de lui donner pour valeur initiale 6. Pour vérifier ceci, on peut demander à sophus de montrer la variable :

nombreChoisi = nouvelle Variable 6
montrer nombreChoisi

Ce script ouvre une boîte de dialogue qui affiche un 6.

Ceci dit, le programme A demande ensuite de soustraire 0,5 au nombre choisi. Cela revient, en Sophus, à diminuer la variable de 0,5 :

nombreChoisi devient nouvelle Variable 6
diminuer nombreChoisi de 0.5
montrer nombreChoisi

L’affichage donne alors 5,5 [1] puisque, une fois qu’on a enlevé 0,5 à 6, il reste 5,5. Mais ensuite on a un problème, le programme de calcul A demandant de multiplier les 5,5 obtenus par le double du nombre de départ, qu’on n’a plus à disposition puisqu’on l’a modifié. Il aurait donc fallu, au départ, créer une copie de nombreChoisi pour doubler celle-ci, et multiplier le résultat par 5,5. Ceci se fait en créant une variable copie initialisée à 6, puis, à la fin du script, en doublant cette variable, et enfin, en multipliant 5,5 par le résultat obtenu :

nombreChoisi devient nouvelle Variable 6
copie devient nouvelle Variable nombreChoisi.valeur
diminuer nombreChoisi de 0.5
doubler copie
multiplier nombreChoisi par copie
montrer nombreChoisi

L’exécution de ce script dans sophus affiche un 66. Pour essayer avec d’autres valeurs on peut simplement modifier la première ligne du script et relancer celui-ci.


Programme B

Les opérations demandées par le programme B (et effectuées cette fois-ci sur la copie) sont, dans l’ordre :

  • élever le nombre au carré ;
  • doubler le résultat ;
  • diminuer le résultat du nombre choisi au départ (ici, 6) :
nombreChoisi devient nouvelle Variable 6
copie devient nouvelle Variable nombreChoisi.valeur
élever copie au carré
doubler copie
diminuer copie de nombreChoisi
montrer copie

Tiens, on constate que pour le nombre 6 au départ, le programme B donne lui aussi 66 en résultat. Pour vérifier si c’est une coïncidence ou si c’est plus général, on va transformer les programmes A et B en fonctions.


Programmes de calcul et fonctions

L’avantage de programmer A et B comme des fonctions est qu’il n’y a plus à se rappeler le nombre choisi au départ, puisque c’est l’antécédent de la fonction. En plus, pour le nombreChoisi, en prennant un nombre de JavaScript plutôt qu’une variable de Sophus, on évite d’avoir à faire explicitement référence à sa valeur. Le fait que A est une fonction se note par une sorte de flèche :

programmeA = (nombreChoisi) ->
    copie devient nouvelle Variable nombreChoisi
    diminuer copie de 0.5
    doubler copie
    multiplier copie par nombreChoisi
    copie.valeur
montrer programmeA(6)

La dernière expression qui se trouve dans le corps de la fonction (indenté) est la valeur retournée par la fonction. Ici il s’agit de la valeur de la variable copie, qui se note copie.valeur.

Le programme B est aussi une fonction :

programmeB = (nombreChoisi) ->
    copie devient nouvelle Variable nombreChoisi
    élever copie auCarré
    doubler copie
    diminuer copie de nombreChoisi
    copie.valeur
montrer programmeB(6)

Raisonner inductivement avec Sophus

Dans le langage des fonctions, la constatation précédente se note A(6)=B(6). La conjecture suggérée par l’énoncé est que A=B, ce qui reste à vérifier (avant de le prouver !) sur d’autres nombres que 6. Pour cela, on va plus vite si on affiche un tableau de valeurs. En Sophus, pour construire un tableau de valeurs, on peut en initialiser un (à un tableau vide de JavaScript) en y mettant des crochets vides (sans rien entre eux), puis en empilant des images d’entiers (indice) par la fonction, et en affichant le tableau à la fin, lorsqu’on a fini d’y empiler tous ces nombres :

programmeA = (nombreChoisi) ->
    copie devient nouvelle Variable nombreChoisi
    diminuer copie de 0.5
    doubler copie
    multiplier copie par nombreChoisi
    copie.valeur
liste = [ ]
x devient nouvelle Variable 0
7.foisFaire ->
    liste.empiler programmeA(x.valeur)
    incrémenter x
montrer liste

Pour tester ces algorithmes

Copier-coller l’un d’eux ci-dessous :

Interpréteur Sophus

Sortie en français

© IREM de La Réunion: Alain Busser, Florian Tobé 2014

On peut également programmer en Sophus hors ligne, à l’aide de cet interpréteur en html (comprend aussi la liste des instructions du langage Sophus) :

interpréteur à télécharger

|

Zip - 175.4 ko
sophus
interpréteur de Sophus

|


[1avec une virgule et non un point parce que sophus est programmé en JavaScript avec la fonction toLocalestring au lieu de toString, ce qui a également pour effet de mettre des espaces entre les milliers et les centaines, etc.


Commentaires

Annonces

Prochains rendez-vous de l’IREM

Séminaire EDIM-IREM

- Mercredi 22 novembre 2017, 14h-18h, campus du Tampon, amphi 120 D
- Mercredi 7 février 2018, PTU, Saint-Denis, salle S23.6
- Mercredi 7 mars 2018, 14h-18h, campus du Tampon
- Mercredi 4 avril 2018, PTU, Saint-Denis, salle S23.6
- Mercredi 2 mai, 14h-18h, campus du Tampon
- Mardi 5 juin 2018, PTU, Saint-Denis, salle S23.6
- Mercredi 6 juin, 14h-18h, campus du Tampon

Fête de la science

Campus du Moufia, 16 et 17 novembre 2017.
Thème : « La recherche à l’heure du numérique »

Semaine des mathématiques

Du 26 au 31 mars 2018.
Thème : « Mathématiques et mouvement »


Brèves

Décès de Roger Mohr

mardi 27 juin

On sait bien que Nicolas Bourbaki n’était pas le nom d’une personne mais le pseudonyme d’un groupe. L’équivalent en informatique théorique est Claude Livercy, auteur de la théorie des programmes. Roger Mohr était un des membres de Claude Livercy.

À 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

dimanche 12 novembre 2017

Publication

773 Articles
Aucun album photo
133 Brèves
11 Sites Web
132 Auteurs

Visites

899 aujourd'hui
1252 hier
2163210 depuis le début
25 visiteurs actuellement connectés