81
HAUTE ÉCOLE LÉONARD DE VINCI ÉCOLE NORMALE CATHOLIQUE DU BRABANT WALLON Site de Louvain-la-Neuve Voie Cardijn, 10 1348 Louvain-la-Neuve Année académique 2014-2015 DÉCOUVERTE DE L’ALGORITHMIQUE AU TRAVERS D’ACTIVITÉS MATHÉMATIQUES Une approche par le langage de programmation Logo Travail de fin d’études présenté en vue de l’obtention du grade de Bachelier Agrégé de l’Enseignement secondaire inférieur en Mathématiques par Thierry BAUDOIN Promoteur : Monsieur Pierre SARTIAUX

HAUTE ÉCOLE LÉONARD DE VINCI ÉCOLE …tfe.encbw.be/2015/NS/BAUDOIN_Thierry.pdf · choisi de créer un outil sur le thème de l ... j’ai développé un réel intérêt pour

  • Upload
    haque

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

HAUTE ÉCOLE LÉONARD DE VINCI ÉCOLE NORMALE CATHOLIQUE DU BRABANT WALLON

Site de Louvain-la-Neuve Voie Cardijn, 10 1348 Louvain-la-Neuve

Année académique 2014-2015

DÉCOUVERTE DE L’ALGORITHMIQUE AU TRAVERS

D’ACTIVITÉS MATHÉMATIQUES

Une approche par le langage de programmation Logo

Travail de fin d’études présenté en vue de

l’obtention du grade de Bachelier Agrégé de

l’Enseignement secondaire inférieur en

Mathématiques par Thierry BAUDOIN

Promoteur : Monsieur Pierre SARTIAUX

HAUTE ÉCOLE LÉONARD DE VINCI ÉCOLE NORMALE CATHOLIQUE DU BRABANT WALLON

Site de Louvain-la-Neuve Voie Cardijn, 10 1348 Louvain-la-Neuve

Année académique 2014-2015

DÉCOUVERTE DE L’ALGORITHMIQUE AU TRAVERS

D’ACTIVITÉS MATHÉMATIQUES

Une approche par le langage de programmation Logo

Travail de fin d’études présenté en vue de

l’obtention du grade de Bachelier Agrégé de

l’Enseignement secondaire inférieur en

Mathématiques par Thierry BAUDOIN

Promoteur : Monsieur Pierre SARTIAUX

Remerciements

J’adresse mes remerciements aux personnes qui m’ont

aidé dans la réalisation de ce travail de fin d’études.

Tout d’abord, je remercie Monsieur Pierre Sartiaux,

professeur à l’ENCBW, pour sa disponibilité, sa bonne

humeur et ses conseils.

Ensuite, je tiens à remercier Monsieur Xavier Rouet

professeur à l’Athénée Royal Paul Delvaux ainsi que Zoé

de Waleffe pour leur participation.

Je tiens également à remercier mes parents pour leur

soutient durant toute ma scolarité.

Je terminerai par remercier Inès, Thomas, Thibault,

Joachim et Fiona pour leurs encouragements.

2

Table des matières

Remerciements ..................................................................................................................................... 1

Table des matières .............................................................................................................................. 2

1. Introduction ................................................................................................................................. 5

2. Les algorithmes ........................................................................................................................... 6

2.1. Définitions ............................................................................................................................. 6

2.2. Quelques exemples ............................................................................................................ 7

2.3 Historique ................................................................................................................................... 8

3. Un regard sur l’enseignement français .............................................................................. 9

3.1. Pourquoi introduire une part d’informatique dans l’enseignement des

sciences mathématiques et dans la formation des maîtres ? ....................................... 10

3.2. Comment faire évoluer les programmes ? ............................................................. 10

3.3. Propositions ....................................................................................................................... 11

4. Présentation des activités ..................................................................................................... 12

5. Introduction aux algorithmes ............................................................................................. 12

5.1. Première approche du langage Logo ........................................................................ 13

6. Les figures planes ..................................................................................................................... 17

6.1. Intentions pédagogiques ............................................................................................... 17

6.1.1. Références au programme ................................................................................... 17

6.1.2. Compétences ............................................................................................................. 18

6.1.3. Pré requis ................................................................................................................... 19

6.1.4. But ................................................................................................................................. 19

6.1.5. Objectifs....................................................................................................................... 19

6.2. Introduction ....................................................................................................................... 19

6.3. Quelques quadrilatères et polygones réguliers ........................................................ 20

6.4. Introduction aux boucles et aux procédures ......................................................... 23

6.4.1. Les procédures ......................................................................................................... 23

3

6.4.2. Les Variables ............................................................................................................. 24

6.4.3. Les boucles ................................................................................................................. 25

6.5. Combinaison de procédure ............................................................................................... 26

6.6. Prolongement .................................................................................................................... 27

6.6.1. Création d’une fonction polygone ..................................................................... 27

6.6.2. Les fractales ............................................................................................................... 27

6.6.3. Travail sur les coordonnées ................................................................................ 27

7. Les nombres triangulaires .................................................................................................... 29

7.1. Intentions pédagogiques ............................................................................................... 29

7.1.1. Référence au programme :................................................................................... 29

7.1.2. Compétences ............................................................................................................. 29

7.1.3. Pré-requis ................................................................................................................... 30

7.1.4. But ................................................................................................................................. 30

7.1.5. Objectifs....................................................................................................................... 30

7.2. Introduction ....................................................................................................................... 30

7.3. Définition des nombres triangulaires par rapport à la somme de

premiers nombres naturels ...................................................................................................... 31

7.4. Définition des nombres triangulaires par rapport à une suite arithmétique

32

7.5. Montrer qu’un nombre est triangulaire .................................................................. 35

7.5.1. Nouvelle définition d’un nombre triangulaire ............................................. 35

7.5.2. Démonstration .......................................................................................................... 36

7.6. Prolongement .................................................................................................................... 37

7.6.1. La factorielle .............................................................................................................. 37

8. Avis extérieur ............................................................................................................................ 38

9. Conclusion ................................................................................................................................... 39

10. Bibliographie .......................................................................................................................... 40

4

11. Table des annexes ................................................................................................................ 43

5

1. Introduction

Dans le cadre de mon travail de fin d’études en bachelier AESI mathématiques, j’ai

choisi de créer un outil sur le thème de l’algorithmique. J’ai eu l’occasion, au cours

de mon parcours, d’étudier pendant deux ans l’informatique à l’Université

catholique de Louvain-la-Neuve. Dans ce contexte, j’ai été initié à la notion

d’algorithme. Depuis, j’ai développé un réel intérêt pour ce domaine étroitement

lié aux mathématiques.

Le monde d’aujourd’hui est essentiellement numérique. L’apprentissage de

l’algorithmique pourrait permettre aux élèves de mieux s’approprier le monde

dans lequel ils évoluent. Comme le dit Gérard Berry : « Pour ne pas subir ce monde

informatique, il faut le comprendre et non se restreindre aux usages » (2012).

Le système scolaire français ayant déjà incorporé l'algorithmique dans son

programme, je me suis demandé pourquoi ne pas essayer de faire de même en

Belgique. Dans ce but, j’ai développé un outil en espérant que les professeurs de

mathématiques puissent l’utiliser lors d’activités complémentaires.

Le peu de formation des professeurs dans le domaine de l'algorithmique et le

manque de moyens financiers des écoles sont les principaux obstacles que pourrait

rencontrer la mise en place de ces activités. De plus, il existe une appréhension des

enseignants face au terme algorithme, qui évoque une complexité non justifiée.

Pour remédier à cette difficulté, je suis parti du postulat qu’apporter une définition

ainsi que des exemples concrets de mise en application des algorithmes au travers

de notions mathématiques leur permettraient de casser cette représentation non

fondée.

Dans un premier temps, j’aborderai les différentes définitions de l’algorithme.

Dans un deuxième temps, je présenterai son évolution au cours du temps. Ensuite

j’exposerai les résultats du rapport de la commission Kahane. Enfin, je proposerai

les applications concrètes sur lesquelles j'ai travaillé qui compose l’essentiel de ce

document.

6

2. Les algorithmes

2.1. Définitions

Il n’existe pas une définition unique du mot algorithme. En effet, beaucoup

d’éléments communs se retrouvent au travers des différentes définitions établies.

Donald Ervin Knuth, professeur émérite en informatique de l’université de

Stanford (États-Unis) a établi cinq propriétés qui sont largement reconnues

comme étant les pré-requis d’un algorithme :

1. Finitude:

« Un algorithme doit toujours se terminer après un nombre fini d'étapes. » (1973a, 4-6)

2. Définition précise:

« Chaque étape d'un algorithme doit être définie précisément; les actions à transposer doivent être spécifiées rigoureusement et sans ambigüité pour chaque cas. » (1973b, 4-6)

3. Entrées:

« ...des quantités qui lui sont données avant qu'un algorithme ne commence. Ces entrées sont prises dans un ensemble d'objets spécifiés. » (1973c, 4-6)

4. Sorties:

« ...des quantités qui ont une relation spécifiée avec les entrées. » (1973d, 4-6)

5. Rendement:

« ... toutes les opérations que l'algorithme doit accomplir doivent être suffisamment basiques pour pouvoir être en principe réalisées dans une durée finie par un homme utilisant du papier et un crayon. » (1973e, 4-6)

Cependant, les éléments ci-dessus ne constituent pas une définition complète. En

effet, pour beaucoup d’auteurs, la notion de résolution de problème est centrale.

C’est le cas, par exemple, pour Sedgewick qui expose cette idée en faisant le lien

entre informatique et algorithmique :

« Le terme "algorithme" est universellement utilisé en informatique pour décrire les méthodes de résolution adaptées pour être réalisées par les programmes informatiques » (1988, 4).

Toutefois, Knuth tout comme Sedgewick insistent sur la différence essentielle qui

existe entre algorithme et programme informatique :

7

«[…] les algorithmes sont des concepts qui ont une existence en dehors de tout langage de programmation. En ce qui me concerne, le terme « algorithme » signifie une méthode abstraite pour trouver un résultat en fonction de données d’entrée, tandis qu’un programme est l’inclusion d’une méthode de calcul dans un langage donné. » (1966, 1)

Pour conclure, j’aimerais citer la définition apportée par Jacques Hebenstreit qui,

selon moi, est une définition acceptable et à utiliser dans un cadre scolaire :

« Un algorithme est une suite de règles à appliquer dans un ordre déterminé à un nombre fini de données pour arriver, en un nombre fini d’étapes, à un certain résultat, et cela indépendamment des données. » (2015)

2.2. Quelques exemples

Un des algorithmes les plus connus est surement celui d’Euclide (-300 av. J.-C.). Il

permet de calculer le plus grand commun diviseur de deux nombres. Il est souvent

représenté à l’aide d’organigramme.

En théorie des graphes, la détermination du plus cours chemin séparant deux

nœuds peut-être exécuté grâce à l’algorithme de Drijska (1930-2002)

8

2.3 Historique

Les premiers algorithmes connus datent des Babyloniens, trois mille ans avant J-C.

Ils décrivent déjà des méthodes de calcul (approximation d’une racine carrée

notamment) et des résolutions d'équations. À partir de cette époque, on trouve des

traces de résolution de problèmes divers par procédés algorithmiques dans toutes

les grandes civilisations, Égypte ancienne, Grèce antique, etc.

Dans l'Antiquité, deux penseurs célèbres, Euclide et Archimède (200 av. J.-C.) ont

déjà formalisé des algorithmes. Le premier a établi une méthode de calcul servant

à trouver le plus grand commun diviseur de deux nombres tandis que le deuxième

en a propose une qui approxime le nombre Pi.

C’est au IXe siècle que fut utilisé pour la première fois le nom algorithme, ou du

moins l’expression qui lui donna naissance. À cette époque, les ouvrages du

mathématicien arabe Al Khwarizmi (IXe siècle), un des inventeurs de l'algèbre et

du système décimal, étaient fortement appréciés par les savants européens qui

utilisaient volontiers la formule latine « dixit Algorizmi » (ainsi parle al-

Khwarizmi). Cette expression sera latinisée afin de donner naissance au

mot algorithme.

Il faut attendre l'Époque moderne pour que l'essor de l’algorithmique démarre

réellement grâce à Georges Boole (1815-1864), inventeur de la logique moderne,

base des langages des ordinateurs. Le deuxième grand tournant fut l'invention

d’Alan Turing (1912-1954), considéré comme le fondateur de l’informatique. Il est

notamment connu pour avoir créé « la machine de Turing ». Bien que ce nom porte

à croire qu’il s’agit d’un objet physique, c’est en réalité un concept abstrait du

fonctionnement des appareils mécaniques de calcul dont le but est de

conceptualiser la notion d’algorithme. Une autre figure marquante dans l’histoire

des algorithmes est l'écrivain Donal E. Knuth, auteur d’une dizaine de livres sur

l'algorithmique et sur les mathématiques discrètes, dont les volumes intitulés

« The Art of Computer Programming » sont reconnus comme des ouvrages de

référence dans le domaine de la programmation. La seconde moitié du XXe siècle,

propulse les algorithmes sous le feu des projecteurs grâce à la diffusion des

9

premiers ordinateurs et à la création du premier langage de programmation de

haut niveau, le Fortran1.

Aujourd’hui, les algorithmes se retrouvent partout, la plupart du temps masqués à

l’utilisateur. Ce sont eux qui permettent d’utiliser Internet, d’envoyer des mails, de

gérer ses comptes bancaires en ligne, etc. Un des domaines où ils sont les plus

développés est d’ailleurs celui de la cryptographie, utilisant des algorithmes

extrêmement complexes et d’invention moderne.

Pour terminer, j’évoquerai l'algorithme le plus connu actuellement, « Hyper

Search », inventé par le mathématicien Massimo Marchiori, repris et adapté par

deux informaticiens Larry Page et Serguei Brin qui ne sont autres que les

fondateurs du moteur de recherche Google utilisé quotidiennement par des

centaines de millions de personnes.

3. Un regard sur l’enseignement français

À la demande des associations de mathématiciens (APMEP, SMAI, SMF et UPS2), le

Ministère français de l'Éducation nationale a donné mission en avril 1999 au

professeur Jean-Pierre Kahane de réunir un groupe d'enseignants et de chercheurs

pour conduire une réflexion globale et à long terme sur l'enseignement des

mathématiques de l'école élémentaire à l'université.

Un des sujets, référencé comme « rapport d'étape », est intitulé « informatique et

enseignement des mathématiques », aborde la problématique de l'enseignement et

de certains aspects de l'informatique, notamment l'algorithmique, dans le

programme des cours des mathématiques de l'enseignement secondaire.

Le texte s'articule autour de quelques questions de base que je vais résumer avant

d'en expliciter la conclusion générale en terme de propositions de mise en place.

1 Abréviation de « Formula Translator » 2 APMEP, Association des Professeurs de Mathématiques de l’Enseignement Public ; SMAI, Société de Mathématiques Appliquées et Industrielles ; SMF, Société Mathématique de France ; UPS, Union des Professeurs de classes préparatoires Scientifiques.

10

3.1. Pourquoi introduire une part d’informatique dans

l’enseignement des sciences mathématiques et dans la

formation des maîtres ?

Certains aspects de l'informatique s'apparentent clairement aux sujets

mathématiques. Il en est ainsi de l'esprit algorithmique (raisonnement structuré,

résolution rationnelle de problèmes, utilisation de systèmes graphiques

hiérarchisés comme les arbres et graphes, ...). De même, l'élaboration d'un

programme informatique est l’occasion d’appliquer des règles logiques absolues

dans un univers clairement défini et limité comme dans une démonstration

mathématique. De plus, l'informatique a initié des changements profonds dans les

mathématiques, en permettant d'aborder sous un jour nouveau des domaines

connus et de les revisiter. La puissance des ordinateurs a ainsi permis

l'expérimentation et la visualisation de notions mathématiques théoriques, la

conception d'algorithmes complexes (codes de cryptage, codes correcteurs

d'erreurs, ...), la reconstruction d'images, etc. Par conséquent, l'ordinateur est

devenu un outil indispensable aux mathématiciens modernes.

3.2. Comment faire évoluer les programmes ?

La question fondamentale sous-jacente aux différentes réformes est la suivante :

« les mathématiques que l’on veut enseigner relèvent-elles d’un enseignement de

culture ou d’un enseignement pratique ? » (Gispert, 2000, 8). Il faut en fait agencer,

imbriquer les deux aspects, c’est-à-dire introduire l'informatique dans les

mathématiques sans se laisser piéger par les aspects purement technologiques et

commerciaux valables dans le court terme et peu formatifs. Avant toute chose, il

faut distinguer l'utilisation d'ordinateurs et des calculatrices avec l'enseignement

de la programmation et de l'algorithmique. Actuellement, l'utilisation des deux

premiers est promotionnée dans l'enseignement. Ceci permet à juste titre à

l’enseignant de montrer, faire découvrir, et bien sûr susciter la réflexion. La

puissance de calcul des machines permet de nouvelles expériences et une

approche différente de certaines notions classiques. Encore faut-il comprendre et

savoir expliquer comment fonctionne la machine et pourquoi elle aboutit à un tel

résultat.

11

L'algorithmique et la programmation sont par contre, non pas des outils, mais des

notions proches des mathématiques car elles sont basées sur des concepts

fondamentaux et universels. L'algorithmique adresse la structure des données et

gère la complexité tandis que la programmation traite des structures de contrôle et

de la récursivité.

Ces deux branches devraient également être enseignées dans le cadre des cours de

mathématiques car elles ont un caractère fondamental et universel, elles

permettent d’en préciser certains concepts (récursivité, variables, ...) et in fine,

elles permettent une bien meilleure compréhension et appréhension des

ordinateurs et calculatrices.

3.3. Propositions

Le rapport formule un certains nombre de propositions dont les plus importantes

sont les suivantes:

- Intégrer une part d'informatique dans l'enseignement des sciences

mathématiques de l'enseignement secondaire.

À court terme :

utiliser des calculatrices programmables et les ordinateurs. En apprendre

les notions fondamentales et universelles (et pas seulement apprendre un

logiciel précis).

À moyen terme :

utiliser les ordinateurs pour revisiter des notions classiques ;

introduire des cours de programmation et d’algorithmique.

- Former les maîtres de façon appropriée en créant des filières adaptées, en

introduisant dans le cursus un enseignement de l'informatique (algorithmique

et programmation) et en favorisant la formation continue.

- Mettre en place un laboratoire informatique au sein de l’établissement

contenant de la documentation, du matériel, des logiciels, etc.

12

4. Présentation des activités

Ce document présente quelques activités pouvant être mises en place dans le 1er

degré de l’enseignement général. Leur but est de faire découvrir aux élèves la

notion d’algorithme et leur permettre d’écrire leurs premiers programmes avec le

logiciel XLogo3.

Vous verrez apparaître tout au long de ce travail les encadrés suivants permettant

de renseigner l’enseignant sur l’utilisation de l’outil.

Points de matière à découvrir, retravailler ou approfondir.

Difficultés élèves et pistes d’aide.

Syntaxe du langage Logo

5. Introduction aux algorithmes

L’introduction aux algorithmes se fait par une courte vidéo4 mettant en scène deux

martiens à bord de leur vaisseau spatial. Au travers du fonctionnement du pilote

automatique, ils vont définir ce qu’est un algorithme et à quoi il sert. Le lien avec

l’informatique y est directement établi.

Après l’avoir visionnée avec les élèves, il convient de faire un « tour de table » afin

de noter les éléments ayant retenu l’attention des élèves. Comme le lecteur l’aura

remarqué, la définition de la notion d’algorithme n’est pas unique. Néanmoins,

celle qui suit peut être utilisée dans un cadre scolaire :

« Un algorithme est une suite de règles à appliquer dans un ordre déterminé à un nombre fini de données pour arriver, en un nombre fini d’étapes, à un certain résultat, et cela indépendamment des données. » (Jacques Hebenstreit, 2015)

3 https://www.youtube.com/watch?list=UUMZgwILg5_gU30dCzH27fAA&v=hG9Jty7P6Es 4 Toutes les informations concernant le logiciel se trouve en dans l’annexe IV.

13

Afin de la concrétiser, le professeur utilisera des exemples tels qu’une recette de

cuisine, un itinéraire, une notice de montage, etc.

5.1. Première approche du langage Logo

Un guide détaillé de l’interface du logiciel XLogo se trouve en annexe (référence).

Il est vivement conseillé au lecteur d’en prendre connaissance avant de continuer

sa lecture.

Afin que l’ordinateur puisse comprendre les algorithmes créés par un être humain,

il faut qu’ils soient traduits dans la langue de l’ordinateur à l’aide de ce qu’on

appelle un langage de programmation. Il en existe plusieurs, le Java et le C étant les

plus populaires. Dans le cadre de ce travail, j’utiliserai le langage Logo pour les

raisons exposées dans l’annexe IV.

À l’aide d’un projecteur ou d’un tableau interactif, l’enseignant fait découvrir aux

élèves la tortue qui permet au logiciel de communiquer graphiquement avec

l'utilisateur ainsi que son interface. La découverte de son fonctionnement se fait

par essais-erreurs à l’aide des commandes de base définies à la page suivante.

En effet, si l’utilisateur utilise la commande « avance », le programme affiche un le

message suivant dans la zone « historique » :

Pas assez de données pour avance

Afin de permettre aux élèves de comprendre la signification de l’erreur,

l’enseignant peut demander à l’un d'eux de se lever et d’avancer. Si l’élève s’arrête

après quelques pas, la répétition de la directive avec insistance provoquera le

questionnement suivant : « Je dois avancer jusqu’où ? ». Cette question est bien le

nœud du problème ! La tortue ne sait pas combien de pas elle doit effectuer, il faut

donc le préciser au logiciel. Après cette petite parenthèse, on réitère l’expérience,

mais en précisant cette fois le nombre de pas dont elle doit avancer : « av 50 ».

Celle-ci trace alors une ligne de 50 pas.

Après avoir fait découvrir les commandes de base, le professeur met les élèves en

activité à l'aide des feuilles présentée à la page 155.

5 Ces documents sont étalements disponibles dans l’annexe I.

14

Primitives basiques en Logo

avance, av nombre av 50

Fais avancer la tortue du nombre de pas indiqués.

recule, re nombre re 100

Fais reculer la tortue du nombre de pas indiqués.

tournedroite, td nombre td 60

La tortue tourne vers la droite de l’angle indiqué.

tournegauche, tg nombre tg 30

La tortue tourne vers la gauche de l’angle indiqué.

videecran, ve

Efface l'écran et réinitialise la tortue au centre de l’écran (appelé l’origine).

montretortue, mt

La tortue est visible à l’écran.

cachetortue, ct

Cache la tortue.

levecrayon, lc

Lève le crayon. La tortue ne laisse plus de trait derrière elle lorsqu’elle se

déplace.

baissecrayon, bc

Baisse le crayon. La tortue laisse un trait lorsqu’elle se déplace.

15

1) Pour chaque case du tableau ci-dessous, dessine les actions de la tortue.

La longueur du côté du carré représente 50 pas de tortue.

bc av 200 tg 90 av 100 re 250 tg

90 av 200 td 90 av 150

av 50 td 90 av 50 td 90 av 100 td

90 av 100 td 90 av 150 td 90 av

150 td 90 av 200 td 90 av 250 td

90 av 150 td 90 av 50 td 90 av

100 tg 90 av 50

2) Complète le tableau afin d’obtenir les figures tracées.

La longueur du côté du carré représente 50 pas de tortue.

bc av ... td ... av ... td ... av

... td ... av ...

16

Ces exercices peuvent être soit réalisés en classe avec l’aide d’un projecteur,

soit en salle informatique. Le logiciel permet aux élèves de s’auto-corriger.

Les algorithmes commencent toujours pas « bc » afin d’être certain que la

tortue dessine.

Afin de faciliter la réalisation de ces exercices, l’enseignant peut mettre à

disposition des élèves un petit transparent représentant une flèche (afin de

bien montrer l’orientation de la tortue).

Dans la deuxième partie, j’ai délibérément laissé la case vide afin que l’élève

crée l’algorithme sans aucun modèle.

Après cette première activité, les élèves sont capables de définir un algorithme et

d’expliquer son utilité. Ils ont également eu l’occasion d’en exécuter quelques-uns à

l'aide de XLogo.

17

6. Les figures planes

6.1. Intentions pédagogiques

6.1.1. Références au programme

Contenu Directives et commentaires

Régularité dans les figures

géométriques connues et dans des

objets.

Des images d’édifices, de frises, de

pavages, de rosaces, de fleurs

constituent des exemples de modèles

répétitifs.

Triangle isocèle, équilatéral, rectangle.

Quadrilatère, trapèze, rectangle,

parallélogramme, losange, carré.

La définition et les propriétés des

figures sont liées aux transformations

du plan. Des activités d’assemblage de

triangles et les propriétés des

transformations peuvent favoriser la

découverte de propriétés des figures.

On établit quelles propriétés suffisent

pour construire ces figures. On énonce

les propriétés des diagonales d’un

quadrilatère. On montre qu’une

condition supplémentaire sur une

famille de figures peut en définir une

nouvelle. On explique l’utilité des

définitions emboitées. On montre

qu’apprendre à définir est plus

important qu’apprendre de multiples

définitions.

Tracé d’une droite parallèle et d’une

droite perpendiculaire à une autre, de

la médiatrice d’un segment, de la

bissectrice d’un angle.

Tracé de l’hexagone régulier et du carré

inscrits.

Il est intéressant de confronter les

différentes techniques possibles et le

choix des instruments (latte, équerre,

compas, équerre graduée) pour une

même construction. À cet effet, la

manipulation d’un logiciel adapté à la

18

Tracé des droites remarquables des

triangles.

construction géométrique est

recommandée.

Amplitude des angles.

Usage du rapporteur.

Angles adjacents.

Somme de deux angles.

Angles complémentaires, angles

supplémentaires.

Report d’un angle donné.

Tracé de la bissectrice d’un angle.

L’usage du rapporteur est l’occasion de

rappeler que la mesure d’un angle est

indépendante des longueurs des côtés

qui bordent cet angle. On construit

l’angle somme de deux angles. On

mesure son amplitude. La mesure de

certains angles peut aussi être

déterminée par déduction. La

mobilisation de ces concepts trouve son

sens dans des contextes géométriques.

6.1.2. Compétences

Expliciter les savoirs et les procédures

Comprendre et utiliser, dans leur contexte, des termes usuels propres à la

géométrie des figures plane.

Énoncer et comprendre quelles propriétés suffisent pour construire des figures

géométriques particulières

Reconnaitre des angles adjacents, complémentaires, supplémentaires.

Déduire des mesures d’angle à l’aide de propriétés dans des situations simples.

Appliquer une procédure

Tracer des figures simples avec des instruments.

Tracer un polygone régulier

Tracer un angle d’amplitude donnée

Résoudre un problème

Résoudre des problèmes de construction à propos de triangles, de cercles ou de

quadrilatères

Résoudre des problèmes de construction à propos d’angles de mesures

particulières

19

6.1.3. Pré requis

Connaître les propriétés des quadrilatères et des polygones réguliers

Reconnaitre des angles adjacents, complémentaires, supplémentaires.

Déduire des mesures d’angle à l’aide de propriétés dans des situations simples.

6.1.4. But

Au travers d’une activité complémentaire, faire découvrir aux élèves la notion

d’algorithme tout en travaillant des compétences mathématiques relatives aux

angles et aux figures planes.

6.1.5. Objectifs

Utilisation d’un logiciel de programmation informatique

Voir la matière d’une autre façon

Permettre un meilleur ancrage et une meilleure compréhension des concepts

mathématiques

Développer la pensée algorithmique

Découvrir les structures d’un langage de programmation (boucles, conditions,

procédures, variable et listes)

6.2. Introduction

L’activité va se dérouler en deux temps. Premièrement, les élèves vont devoir

écrire un algorithme en Logo pour chacune des figures demandées.

Deuxièmement, l’enseignant introduira les notions de procédure, de variable et de

boucle, permettant aux élèves de retravailler leurs algorithmes.

Je vais commencer par détailler les moments clés de la première partie au travers

d’exemples tirés des feuilles élèves.

20

6.3. Quelques quadrilatères et polygones réguliers

Figure Algorithme C

arré

Notion d’angles et de distance.

Propriétés du carré :

o Quatre côtés isométriques ;

o Quatre angles droits

Propriétés du rectangle :

o Deux côtés isométriques deux à deux ;

o Quatre angles droits.

Je commence par proposer deux figures simples (le carré et le rectangle) afin

de motiver l’élève. Le lecteur remarquera que la colonne algorithme est

séparée en deux parties. Pour l’instant il est important de préciser que l’élève

ne remplira que la première, la seconde lui servira pour retravailler son

algorithme en utilisant les éléments qui seront présentés dans la deuxième

partie de l’activité.

Le recours au transparent est toujours une bonne option pour aider les

élèves en difficultés.

21

Lo

san

ge

Propriétés des quadrilatères :

o la somme des angles intérieurs vaut toujours 360°

Propriétés du losange :

o les angles opposés ont la même amplitude ;

o les côtés sont isométriques.

Première découverte des angles correspondants

Propriétés des angles :

o Si deux angles forment un angle plat alors ils sont supplémentaires, c’est-

à-dire que la somme de leur amplitude vaut 180°.

À l’aide des propriétés ci-dessus, les élèves peuvent déterminer la valeur des

angles inconnus. En effet il y a deux angles de 50° et deux angles d’alpha degré.

Je peux donc écrire :

D’où,

Les élèves risquent de faire tourner la tortue de 130° au lieu de 50°, pour

remédier à cela, l’utilisation du transparent permet de montrer que la tortue va

tourner d’un angle inférieur à 90°. On peut ensuite les faire réfléchir sur la

relation qui lie les deux angles (l’intérieur et celui dont la tortue va devoir

tourner). En faisant apparaître sur le dessin un angle plat par prolongation du

côté. Ils doivent être capables de déterminer la valeur de l’angle recherché. Cette

méthode peut s’appliquer à toutes les figures de l’activité.

22

Pen

tago

ne

Un polygone régulier est inscrit dans un cercle, il est donc toujours composé de

triangles isocèles. Si on les dessine, les angles au centre de la figure ont comme

amplitude n

360 où représente le nombre de côtés du polygone régulier

Propriété des triangles isocèles :

o les angles à la base on même amplitude

Propriété des triangles :

o la somme des angles intérieurs d’un triangle est toujours 180°

À nouveau ici, l’élève risque de tourner par rapport à l’angle interne et non à son

supplémentaire. C’est une bonne occasion pour le faire travailler sur l’élaboration

d’une relation entre l’angle dont la tortue va devoir tourner et le nombre de côtés de

la figure. Cette relation pourra être utilisée par la suite pour déterminer une

procédure6 polygone prenant comme argument7 le nombre de côtés et sa longueur

afin de tracer n’importe quel polygone régulier.

Pour passer à la deuxième partie de l’activité, l’enseignant mettra en évidence le

caractère contraignant de réécriture pour chaque algorithme si l’élève veut

dessiner plusieurs fois le même polygone. Il pourra ainsi expliquer les notions de

6 Voir page 23. 7 Voir page 23.

23

procédures et de variables pour finir par celle de boucle8. Chaque explication sera

concrétisée au travers d’exemples. L’élève pourra finir l’activité en réécrivant pour

chaque figure une procédure utilisant un argument et si besoin une boucle.

6.4. Introduction aux boucles et aux procédures

6.4.1. Les procédures

En plus des commandes de base (av, re, td, tg, …) l’utilisateur peut grouper une

suite d’instructions à l’aide d’un mot clé au lieu de devoir les réécrire à chaque fois.

La structure d’une procédure est la suivante :

pour nom_de_la_procédure

instruction 1 instruction 2 …

fin

exemple de procédure :

pour carre

av 50 td 90 av 50 td 90 av 50 td 90 av 50 td 90

fin

Ces procédures ont le droit d’admettre des arguments, c’est-à-dire « un paramètre

transmis entre un programme appelant et un programme appelé. » (Knuth, 1973)

Les arguments peuvent être de trois types :

Un nombre : avance 100

Un mot : ecris9 ʺbonjour

Une liste : fpos10 [2 1]

Si l’utilisateur désire dessiner une même forme, mais à des dimensions différentes,

il doit créer une procédure pour chacune d’elle. L’utilisation des arguments permet

de généraliser l’algorithme en demandant à l’utilisateur de spécifier lors de l’appel

les dimensions de la figure. La valeur de l’argument sera stockée dans ce qu’on

appelle une variable.

8 Voir page 23. 9 Voir page 24. 10 Voir page 28.

24

pour nom_de_la_procédure :arg111

instruction 1 instruction 2 …

fin

exemple :

pour carre :longueur

av :longueur td 90 av :longueur td 90 av :longueur td 90 av

:longueur td 90

fin

6.4.2. Les Variables

Une variable est une zone dans la mémoire de l’ordinateur, dans laquelle le

contenu est stocké, référencée par un libellé. Le principe est le même qu’en

mathématiques à ceci près que c’est une notion physique et non abstraite. Voici

quelques règles syntaxiques :

donne ʺnom_de_la_variable12 valeur_de_la_variable

stocke le contenu de valeur_de_la_variable dans l’adresse mémoire

référencée par le libellé nom_de_la_variable

exemple :

donne ʺage 30

ecris,ec arg1

ecris dans la zone d’historique ce qui est donné en argument

et va à la ligne.13

exemple :

ec ʺbonjour

bonjour

ec [Je suis un ordinateur]

Je suis un ordinateur

ec 100

11 Les « : » devant le nom de l’argument permet à l’ordinateur de savoir qu’il doit aller chercher la valeur référencée par le mot arg1. 12 En Logo, on définit un mot en mettant le symbole ʺ devant son nom. 13 L’utilisateur peut utiliser la commande tape fonctionnant comme ecris mais n’incluant pas le retour à la ligne

25

100

donne ʺage 18 ec :age

18

Le schéma ci-dessous, permet de comprendre le fonctionnement de l’interpréteur

lors de l’exécution d’un algorithme :

6.4.3. Les boucles

Les algorithmes contiennent souvent des séquences composées d’instructions

répétitives. Si je prends l’exemple de la procédure du carré, la répétition apparaît

clairement :

pour carre :n

av :n td 90 av :n td 90 av :n td 90 av :n td 90

répétition

fin

Afin d’éviter la redondance des instructions qui peuvent vite surcharger

l’algorithme, les programmeurs ont créé les boucles. En voici la structure :

repete n [instruction 1 instruction 2 …]

exemple :

pour carre :n

repete 4 [av :n td 90]

fin

26

6.5. Combinaison de procédure

L’activité se terminera par la proposition de différents motifs contenant les figures

précédemment rencontrées. La mise en place de toutes les notions vues sera

nécessaire pour reproduire les figures suivantes.

Les élèves devront créer pour chacun des motifs une procédure utilisant les

procédures déjà utilisées. Par exemple, pour le premier motif l’algorithme

devra contenir la ligne suivante :

triangle :n

La mise en couleur de certains motifs peut faire ressortir un effet 3D assez

étonnant14 :

14 Cf. Vasarely.

27

6.6. Prolongement

6.6.1. Création d’une fonction polygone

Lors de l’élaboration des algorithmes permettant le dessin de polygones réguliers,

le lien entre le nombre de côtés d’un polygone et l’angle de rotation de la tortue

aura été établi. L’enseignant pourra dès lors mettre l’élève en recherche dans

l’élaboration d’une procédure nommée polygone15 utilisant deux variables, une

permettant de définir le nombre de côtés de la figure, une autre pour déterminer la

taille d’un côté.

6.6.2. Les fractales

Dans un but de découverte, l’étude des fractales ainsi que leur création est un

excellent exercice pour développer l’algorithmique. Le lecteur pourra trouver en

d’exemples d’algorithmes traitant du sujet dans le manuel officiel du logiciel16.

6.6.3. Travail sur les coordonnées

Avantages

En deuxième secondaire, l’activité peut-être adaptée afin de travailler les

coordonnées. Elles peuvent être intéressantes dans un réinvestissement des

droites remarquables permettant de se passer de calcul d’angle et de longueur trop

complexe pour le niveau actuel des élèves (Pythagore et relation entre les angles

dans les triangles rectangles).

Afficher les axes et la grille

Le logiciel Xlogo permet de travailler les coordonnées avec les élèves. Dans un

premier temps, il convient de faire apparaître un repère orthonormé. La marche à

suivre est la suivante :

Outils > préférences > onglet options > axe en fond d‘écran

Cocher les deux cases, axes des abscisses et axes des ordonnées. Le choix de la

graduation se fait en fonction du nombre de pas de la tortue. Ceux-ci étant petits,

je conseille de graduer tous les 50 pas afin d’avoir un repère clair. Pour faciliter la

15 Voir annexe II. 16 La documentation est disponible à cette adresse http://downloads.tuxfamily.org/xlogo/downloads-fr/manual-fr.pdf

28

lecture des élèves, il est également possible de faire apparaître une grille (Outils >

préférences > onglet options > grille en fond d’écran) ayant le même espacement

que notre repère.

Les commandes Logo

La tortue est par défaut positionnée en (0,0). Voici les deux commandes qui

permettent d’utiliser les coordonnées :

position, pos

Renvoie la position actuelle de la tortue. Le premier élément correspond à

l’abscisse, le deuxième à l’ordonnée

fixeposition, fpos [abscisse ordonnée]

fixe la position à laquelle doit se rendre la tortue, cette procédure prend une

liste en argument contenant les nouvelles coordonnées

29

7. Les nombres triangulaires

7.1. Intentions pédagogiques

7.1.1. Référence au programme :

Contenu Directives commentées

Dénombrement à l’aide d’expressions

littérales. Détermination d’un élément

d’une suite de nombres représentés par

des motifs numérotés en fonction de

leur rang.

Dans l’étude de suites de motifs, on

insiste pour que l’élève exprime en

français son programme de calcul, puis

qu’il le traduise en une formule.

Dégager plusieurs formules de

l’observation introduit naturellement

l’utilité du calcul algébrique.

La première configuration ou le

premier dessin correspond au rang 1.

Représentation littérale des nombres.

Expression en français de formules

littérales. Expression littérale de

propriétés d’opérations.Valeur

numérique d’une expression littérale.

On écrit une expression littérale, une

formule pour exprimer qu’un nombre

est pair, impair, qu’il est «multiple de»,

qu’il est «consécutif à», qu’il est le

«carré de»; pour calculer un périmètre,

une aire,...On montre que la lettre peut

être perçue come une variable. On

illustre les propriétés des opérations

par des calculs numériques qui

engagent des nombres naturels, des

entiers et des décimaux.

7.1.2. Compétences

Expliciter les savoirs et les procédures

Associer une expression littérale à une famille de nombres

Maitriser les conventions d’écriture mathématique des expressions littérales

Reconnaitre la nature d’une expression littérale(somme de termes, produit de

facteurs, ...)

30

Appliquer une procédure

Dénombrer par un calcul et le cas échéant par une formule.

Calculer des valeurs numériques d’expressions littérales.

Transformer des expressions littérales, en respectant la relation d’égalité et en

ayant en vue une forme plus commode.

Résoudre un problème

Élaborer une formule qui traduit une régularité dans des suites de motifs (ou

de nombres).

Construire des expressions littérales où la lettre a le statut d’indéterminée, de

variable ou d’inconnue

Traduire une expression littérale ou exploiter un programme de calcul.

7.1.3. Pré-requis

Savoir manipuler écrire des expressions littérales et utiliser la lettre dans un

contexte de dénombrement

7.1.4. But

Au travers d’une activité complémentaire, faire découvrir aux élèves la notion

d’algorithme tout en travaillant des compétences mathématiques relatives à

l’algèbre.

7.1.5. Objectifs

Utilisation d’un logiciel de programmation informatique

Voir la matière d’une autre façon

Permettre un meilleur ancrage et une meilleure compréhension des concepts

mathématiques

Développer la pensée algorithmique

Découvrir les structures d’un langage de programmation (boucles, conditions,

procédures, variable, listes, récursivité)

7.2. Introduction

L’activité est séparée en deux grandes parties. La première consiste à élaborer

deux nouvelles définitions des nombres triangulaires, une à l’aide de la somme des

premiers nombres naturels et l’autre par l’élaboration d’une suite arithmétique.

31

La situation se prête à l’introduction de la récursivité17 algorithmique ainsi qu’à

l’utilisation des variables un peu plus poussée que dans l’activité précédente.

La période de recherche autonome qu’elle soit individuelle ou en groupe est une

étape essentielle dans la réalisation de l’activité. Certains élèves dégageront

directement une relation entre un nombre et son prédécesseur tandis que d’autres

peuvent mettre en évidence le caractère d'addition qui existe entre chaque

pyramide. Bien que les feuilles élèves abordent d’abord la notion de somme pour

continuer sur celle de suite, rien n’empêche l’enseignant de réaliser l’activité dans

l’ordre qui lui semble le plus approprié.

7.3. Définition des nombres triangulaires par rapport à la

somme de premiers nombres naturels

Un nombre triangulaire est un entier naturel non nul qui peut être représenté par

un triangle équilatéral.

Par l’observation des figures ci-dessus, l’élève doit être capable de

déterminer les nombres triangulaires qui suivent. Le but étant de les amener

à redéfinir ces nombres comme la somme de premiers entiers naturels.

Je conseille au lecteur de faire travailler ses élèves par binôme afin de

faciliter la recherche. Il pourra également être amené à rediriger les élèves

qui partiraient dans des raisonnements sans issue.

Symbole de la somme : ∑

Notion de rang

Lien entre le rang d’un nombre triangulaire et la variable informatique.

17 Voir page 34.

32

donne ʺnom_de_la_variable valeur_de_la_variable

permet de stocker une valeur numérique dans une variable

exemple :

donne ʺage 30

retourne,ret arg1

permet de sortir d’une procédure en renvoyant la valeur de arg1

exemple :

pour foisdeux :n

retourne 2* :n

fin

compteur

Au sein d’une boucle repete est définie une variable compteur désignant le

numéro de l’itération en cours (la première itération est 1)

Exemple :

repete 4[tape compteur]

1234

7.4. Définition des nombres triangulaires par rapport à une

suite arithmétique

En écrivant deux nombres triangulaires consécutifs sous la forme d’une

somme,

et ,

l’enseignant fera remarquer que celui de rang supérieur contient celui qui le

précède. Les élèves pourront donc écrire

.

La recherche sera poursuivie dans cette optique afin de faire apparaître une

forme générale

Afin de permettre une compréhension suffisante pour tous les élèves,

l’application de la nouvelle définition peut être vérifiée pour de petits

nombres triangulaires. En effet, le lecteur aura remarqué que le problème de

cette définition est qu’il faut connaître au moins un des nombres

33

triangulaires pour trouver tous les autres et que le calcul de grand nombre

est une épreuve fastidieuse justifiant l’élaboration d’un outil de calcul.

L’enseignant fera également remarquer à ces élèves qu’il faut donner au

moins un des nombres de la suite pour pouvoir calculer les autres, c’est

pourquoi elle sera définie de cette façon,

Illustration du principe de récursivité mathématique au travers d’une suite

arithmétique représentant la table de cinq :

Pour trouver :

Les premiers pas dans la récursivité algorithmique sont souvent un obstacle

difficile à franchir. Les élèves ont souvent du mal à en visualiser le

fonctionnement. Il est nécessaire de leur donner quelques algorithmes

récursifs et de les leur faire exécuter à l’aide d’une feuille et d’un crayon. Une

fois que le principe aura été éclairci, reformuler le problème de la même

façon que dans l’exemple ci-dessous afin de mettre en lumière les deux listes

de la structure conditionnelle18.

18 L’utilisation du terme structure conditionnelle se réfère à la primitive « si » évoquant une condition.

34

Pour :

#je rappelle la procédure pour déterminer

#je rappelle la procédure pour détermine

#je retourne la valeur de

#je retourne la valeur de

#je retourner la valeur de

L’algorithme est le même pour n’importe quel nombre triangulaire, le nombre

d’appels récursifs varie selon le rang du nombre recherché.

si condition_test liste1 liste2

si expression_test est vraie alors les commandes de la liste1 sont exécutées

si expression_test est fausse alors les commandes de la liste 2 sont exécutées

Exemple :

pour majorité :age

si :age>=18 [ecris [vous êtes majeurs]] [ecris [vous êtes mineurs]]

fin

Une procédure contenant un appel à elle-même est dite récursive. Le principe

est de résoudre un problème en calculant des solutions d’instances plus

petites du même problème. On oppose souvent ce genre d’algorithme à ceux

dits itératifs utilisant une boucle. Cette notion prend tout son sens dans la

résolution de suite arithmétique.

Exemple :

pour U :n

si19 :n=0

#si n est égal à 0 faire

[retourne 0]

19 Voir p.34.

35

#sinon

[retourne (U :n-1) + 5]

fin

7.5. Montrer qu’un nombre est triangulaire

7.5.1. Nouvelle définition d’un nombre triangulaire

Pour déterminer de grands nombres triangulaires, le recours à une calculatrice ou

à un ordinateur est obligatoire à cause de la lourdeur du calcul. Cependant les

Grecs de l’école pythagoricienne pouvaient sans difficulté déterminer des nombres

triangulaires de rang élevé. En effet, ils ont remarqué que l’addition de deux

nombres triangulaires identiques forme un rectangle dont les dimensions

sont :

En calculant l’aire de cette figure20 et en la divisant par 2 ils obtenaient le nombre

désiré. Un nombre triangulaire peut alors être défini comme ceci,

À l’aide de la première définition établie par les élèves, il est possible de retrouver

cette expression de la façon suivante21 :

(1)

L’addition étant commutative, je peux écrire :

(2)

Dès lors, en additionnant (1) et (2)

20 Aire d’un rectangle est égale au produit de sa longueur par sa largeur. 21 Cette méthode aurait été découverte par le célèbre mathématicien Carl Friederich Gauss.

36

7.5.2. Démonstration

Grâce à cette nouvelle définition, il est possible de déterminer une formule

permettant de déterminer si un nombre est triangulaire. En effet, à l’aide de quatre

rectangles isométriques, chacun composé de deux nombres triangulaires

identiques, il est possible de former un carré dont la pastille centrale est

manquante.

Dès lors, le côté du carré contient pastilles22 Je peux donc exprimer son aire

en fonction du nombre triangulaire qui le compose,

étant un nombre naturel différent de zéro, l’expression de gauche est celle d’un

carré parfait23. En remaniant la formule, l’expression suivante peut être écrite,

Autrement dit, si la racine carrée d’un nombre multiplié par huit auquel j’ai

retranché 1 est un nombre entier, alors ce nombre est triangulaire. Je peux

également déterminer la valeur de afin d’obtenir le rang du nombre en question.

L’algorithme est assez simple à établir, les difficultés seront d’ordre

mathématique. En effet, l’exercice aborde une notion méconnue des élèves, la

racine carrée et fait travailler les équations. Afin de faciliter la

compréhension, l’enseignant expliquera la nouvelle notion en expliquant

qu’une racine carrée est l’opération inverse de la puissance 2.

suscitera chez l’élève la question suivante :

« Quel nombre dois-je élever au carré pour obtenir 25 ? ». La réponse étant

22 Les deux nombres triangulaires identiques formant un rectangle de dimensions 23 En mathématique un carré parfait est le carré d’un entier, par exemple 25 est le carré parfait de 5.

37

très intuitive, le professeur n’aura peut-être pas besoin de développer la

notion plus en profondeur.

Racine carrée

Nombre entier

Manipulation d’équations

racine arg1

renvoie la valeur de la racine carrée de arg1

entier? arg1

Renvoie vraie si arg1 est un entier

Renvoie faux dans le cas contraire

7.6. Prolongement

7.6.1. La factorielle24

La découverte de la factorielle s’inscrit dans le continuum de l’activité. Les

algorithmes préalablement établis seront facilement transposables. L’enseignant

pourra également expliciter les différences entre suites arithmétiques (nombres

triangulaires) et suites géométriques (factorielle). Il pourra également montrer le

lien qui existe entre les deux notions au travers des problèmes simples de

combinaisons et d’arrangements.

24 Des exemples d’algorithmes sont établis pour la factorielle dans l’annexe II.

38

8. Avis extérieur

Lors de l’élaboration de mon outil, j’ai contacté monsieur Xavier Rouet25, mon

ancien maître de stage afin qu’il puisse examiner mon travail et me donner son

avis. Voici ce qu’y en est ressorti

1) Les explications apportées sont-elles suffisantes ?

En parcourant le travail, j’ai très souvent dû me référer à l’annexe afin de

mettre en parallèle les feuilles élèves ainsi que le manuel du logiciel. Cette

manipulation n’est pas toujours confortable dans la lecture du travail. Peut-être

serait-il intéressant que tu ajoutes quelques cadres comme tu l’as déjà fait mais

contenant des indications sur l’utilisation du logiciel.

2) La matière est elle accessible à des élèves du premier degré ?

En voyant pour la première fois l’activité sur les nombres triangulaires, j’ai

émis des doutes. Mais en parcourant les feuilles élèves et les explications je

pense qu’il est envisageable d’enseigner cette matière. Seulement cela demande

un grand investissement de la part du professeur, car il doit d’abord

s’approprier correctement ces notions. Si je devais l’utiliser, je placerais plus

l’activité en 2e ou 3e secondaire.

3) En tant que professeur de mathématiques, utiliseriez-vous mon outil ? Oui,

non, pourquoi ?

Comme je l’ai dit à la question précédente, la partie sur les nombres

triangulaires serait à utiliser dans une autre classe que celle spécifiée. Par

contre je trouve que celle sur les figures planes et vraiment simple et agréable à

lire. J’ai l’impression qu’il serait facile de l’utiliser dans un de me cours.

4) Vos remarques éventuelles.

Bonne initiative, mais il faudra tenir compte que l’approche sera neuve pour

bon nombre de professeurs de mathématiques. Une formation préalable sera

sans doute nécessaire pour mettre en place ce genre d’activités. Pour ma part,

je pense que cette approche nouvelle et ludique constitue un atout pour

susciter l’intérêt des élèves.

25 Monsieur Rouet est professeur de mathématiques dans le degré inférieur à l’Athénée Royal Paul-Delvaux.

39

9. Conclusion

Dans ce travail, j’ai essayé de démontrer qu’il est possible de travailler

l’algorithmique de manière simple pour les élèves du secondaire inférieur. Après

en avoir exposé les définitions et décrit l’histoire, j’ai montré par le biais du

rapport de la commission Kahane l’intérêt de cette matière dans la formation

générale des élèves.

J’ai abordé deux grandes disciplines des mathématiques, que sont la géométrie et

l’algèbre afin de concrétiser la théorie. Tout d’abord au travers des figures planes,

les élèves pourront observer et utiliser certaines propriétés des quadrilatères et

des polygones. Ils pourront également découvrir deux structures principales

présentes dans n’importe quel langage de programmation, les boucles et les

procédures. La partie algébrique apporte également son lot de nouveautés. En

effet, ils y établiront une formule permettant de généraliser un problème de

dénombrement et auront l’occasion d’utiliser une structure conditionnelle ainsi

que la méthode plus subtile qu’est la récursivité.

J’espère que ces deux activités pourront permettre au lecteur de démystifier

l’apparente complexité de la notion d’algorithme et envisager d’approfondir cette

incroyable discipline.

Vu l’engouement actuel pour les nouvelles technologies et la refonte des

programmes en Fédération Wallonie-Bruxelles, ne serait-ce pas un moment

opportun pour envisager l’introduction de l’algorithmique dans le cursus scolaire

belge?

40

10. Bibliographie

Publication d’associations ou d’organismes

Fédération de l’Enseignement secondaire catholique (FeSEC). (2010). Programme

de Mathématiques 1er degré commun. Bruxelles : FeSEC

Ministère de l’éducation nationale (1988). La géométrie hors des sentiers battus.

Essai d’une approche de la mathématique par la tortue de « LOGO ». Bruxelles :

Ministère de l’éducation nationale.

Ouvrages d’auteurs

Casamayou Boucaau, A., Chauvin, P. & Connan G. (2012). Programmation en Python

pour les mathématiques. Paris : Dunod

Engler, O. & Wang, W. (2014). Programmer pour les nuls. Paris : First-Gründ.

Sites Web et autres ressources électroniques

Algue-Rythme, « Enseignement de l’algorithmique : quel logiciel/langage ».

Ilesmaths [En ligne]. http://www.ilemaths.net/forum-sujet-500343.html (consulté

le 25 avril 2015)

Alvarez, A. & Viéville T. « Dis maman (ou papa), c’est quoi un algorithme dans ce

monde numérique ? ». CNR, [En ligne]. http://images.math.cnrs.fr/Dis-maman-ou-

papa-c-est-quoi-un.html (page consulté le 27 juin 2015).

Comission de réflexion sur l’enseignement des mathématiques.« Informatiques et

enseignement des mathématiques . » SMF [En lgne]. (janvier 2000).

http://smf4.emath.fr/en/Enseignement/CommissionKahane/ (consulté le 07 juin

2015).

Connan, G., « Faire des mathématiques au lycée en programmant. Un catalogue

libre de 400 programmes avec XCAS, CAML, SAGE et PYTHON ». IREM de Nantes

[En ligne]. (16 décembre 2010). http://webusers.imj-

prg.fr/~frederic.han/M1E/pdf/PafAlgo.pdf (consulté le 30 mais 2015)

41

Dowek, G., « Pourquoi enseigner l’informatique à toutes et tous ? ». EPI [En ligne].

(mars 2015). http://www.epi.asso.fr/revue/articles/a1503f.htm (consulté le 05

juin 2015).

ISNCodeLab, « Mémo pseudo-codes ». ISNCodeLab [En ligne].

http://isn.codelab.info/ressources/algorithmique/memo-pseudo-

codes/#Les_proc.C3.A9dures_et_fonctions (consulté le 5 juin 2015).

Hebenstreit,J., « INFORMATIQUE - Principes », Encyclopædia Universalis [en ligne].

http://www.universalis.fr/encyclopedie/informatique-principes/ (consulté le 07

juin 2015).

Hoarau, P., « Les algorithmes ». Misty2d [En ligne] (28 janvier 2013)

http://www.mytopschool.net/mysti2d/activites/polynesie2/ETT/C042/23/Algor

ithmes/index.html?Lesalgorithmes1.html (consulté le 5 juin 2015).

Jones, S., « Fixing the ICT Crisis at school ». INFOQ [En ligne].

http://www.infoq.com/presentations/education-IT-CS (page consulté le 02 juin

2015).

Meurist, A., « Introduire des éléments d’algorithmique dans un cours de

mathématiques : une expérience dans l’enseignement secondaire belge ». UMONS

[En ligne]. http://math.umons.ac.be/dida/fr/enseignement/Memoire_Meurist.pdf

(page consulté le 7 juin 2015).

Milan, P., « Suite numériques ». Lycée adultes [En ligne]. (19 février 2015)

http://www.lyceedadultes.fr/sitepedagogique/documents/math/math1S/04_cour

s_suites.pdf (consulté le 05 juin 2015).

Modeste, S. « Enseigner l’algorithme pour quoi ? Quelles nouvelles questions pour

les mathématiques ? Quel apports pour l’apprentissage de la preuve ? » HAL [En

ligne]. (1 février 2013). https://tel.archives-ouvertes.fr/tel-00783294/document

(consulté le 07 juin 2015).

Pixees, « Informatique au collège, les activités débranchées ». Pixees, [En ligne].

https://pixees.fr/?p=3159 (page consulté le 20 mai 2015).

42

Scriptol, « Définition du terme algorithme ». Scriptol[En ligne].

http://www.scriptol.fr/programmation/algorithme-definition.php#what-is-

algorithm (page consulté le 6 juin 2015).

Article de revue

Hauchercorne, B. (2009). Les algorithmes au cœur du raisonnement structuré.

Tangente, n°37 (hors-série), pp.6-7.

Hauchercorne, B. (2009). Les algorithmes au cœur du raisonnement structuré.

Tangente, n°37 (hors-série), pp.6-7.

Roddier,J., & Rousselet, M. (2009). Les algorithmes au cœur du raisonnement

structuré. Tangente, n°37 (hors-série), pp.8-13.

43

11. Table des annexes

Annexe I : Cahier de l’élève vierge .............................................................................................. 44

Annexe II : Cahier de l’élève corrigé ........................................................................................... 52

Annexe III : Commandes Logo utilisées lors des activités ................................................. 61

Annexe IV : XLogo .............................................................................................................................. 64

44

Annexe I : Cahier de l’élève vierge

1. Introduction

1) Pour chaque du tableau ci-dessous, dessine les actions de la tortue. Un carré représente 10 pas de tortue.

bc av 200 tg 90 av 100 re 250 tg

90 av 200 td 90 av 150

av 50 td 90 av 50 td 90 av 100 td

90 av 100 td 90 av 150 td 90 av

150 td 90 av 200 td 90 av 250 td

90 av 150 td 90 av 50 td 90 av

100 tg 90 av 50

2) Complète le tableau de manière à obtenir la figure demandée. Un carré représente 10 pas de tortue.

bc av ... td ... av ... td ... av

... td ... av ...

45

46

2. Les figures planes

1) Pour chacune des figures ci-dessous, écris un algorithme permettant à la tortue

de tracer la figure. Elle doit toujours revenir dans sa position de départ.

Figure Algorithme

Car

Rec

tan

gle

Lo

san

ge

47

Tri

angl

e éq

uil

atér

al

Par

allé

logr

amm

e

Pen

tago

ne

48

Hex

ago

ne

Oct

ogo

ne

49

2) En utilisant les procédures créées ci-dessus, écris une procédure permettant de

dessiner les motifs si dessous. La tortue démarre toujours du centre de la

figure. C

roix

de

mal

te (

com

po

sé d

e tr

ian

gle)

Co

mp

osé

d’h

exag

on

e

Sois

son

(co

mp

osé

de

losa

nge

)

50

3. Les nombres triangulaires

Générer un nombre triangulaire

Un nombre triangulaire est un entier naturel non nul qui peut être représenté par

un triangle équilatéral.

1) En observant la figure ci-dessus, détermine les deux prochains nombres

triangulaires et . Explique ta démarche

2) Détermine une formule utilisant la somme et te permettant de trouver

n’importe quel nombre triangulaire

3) Complète la procédure ci-dessous afin de lui permettre de générer un nombre

triangulaire de rang à l’aide d’une boucle.

pour T :n

donne ʺrep 0

repete………………… [donne ʺrep ]

retourne :rep

fin

4) Écris une autre formule te permettant de trouver n’importe quel nombre

triangulaire en fonction de celui-qui le précède.

51

5) Complète la procédure ci-dessous afin de lui permettre de générer un nombre

triangulaire de rang par récursivité.

pour T :n

si :n=………….

#à exécuter si la condition est vraie

[retourne ]

#à exécuter si la condition est fausse

[retourne ]

fin

Prouver qu’un nombre est triangulaire

Maintenant que tu sais générer un nombre triangulaire, il peut être intéressant de

créer une procédure qui détermine si un nombre est triangulaire ou non. Les Grecs

avaient découvert la formule suivante :

En transformant cette formule, tu peux écrire,

Autrement dit, si la racine de est un nombre entier alors le nombre est

triangulaire.

1) À l’aide des primitives racine et entier? détermine une procédure qui écris

dans la zone d’historique « Ce nombre est triangulaire » si la racine est entière

et « Ce nombre n’est pas triangulaire » si la racine n’est pas entière.

pour t? :n

si entier? (racine 8*:n-1)

[ec [Ce nombre est un nombre triangulaire]]

[ec [Ce nombre n’est pas un nombre triangulaire]]

fin

52

Annexe II : Cahier de l’élève corrigé

1. Introduction

3) Pour chaque du tableau ci-dessous, dessine les actions de la tortue. Un carré représente 10 pas de tortue.

bc av 200 tg 90 av 100 re 250 tg

90 av 200 td 90 av 150

av 50 td 90 av 50 td 90 av 100 td

90 av 100 td 90 av 150 td 90 av

150 td 90 av 200 td 90 av 250 td

90 av 150 td 90 av 50 td 90 av

100 tg 90 av 50

4) Complète le tableau de manière à obtenir la figure demandée. Un carré représente 10 pas de tortue.

bc av 400 td 90 av 300 td 90 av

200 td 90 av 300

53

Bc av 50 td 90 av 50 tg 90 av 50

tg 90 av 100 tg 90 av 100 tg 90

av 100 td 90 av 100 td 90 av 100

td 90 av 50 td 90 av 50 tg 90 av

50

54

2. Les figures planes

3) Pour chacune des figures ci-dessous, écris un algorithme permettant à la tortue

de tracer la figure. Elle doit toujours revenir dans sa position de départ.

Figure Algorithme

Car

bc av 50 td 90 av 50 td 90 av 50 td 90 av 50 td 90

pour carre :cote repete 4[av :cote td 90] fin

Rec

tan

gle

bc av 80 td 90 av 40 td 90 av 80 td 90 av 40 td 90

pour rectangle :longueur :largeur repete 2 [av :longueur td 90 av :largeur td 90] fin

Lo

san

ge

bc av 30 td 50 v 30 td 130 av 30 td 50 av 30 td 130

pour losange :cote :alpha repete 2 [av :cote td :alpha av :cote td 180-:alpha] fin

55

Tri

angl

e éq

uil

atér

al

bc av 60 td 120 av 60 td 120 av 60 td 120

pour triangle :cote repete 3[av :cote td 120] fin

Par

allé

logr

amm

e

bc av 70 td 70 av 35 td 110 av 70 td 70 av 35 td 110

pour parallélogramme :longueur :largeur :alpha repete 2 [av :longueur td :alpha av :largeur td 180-:alpha] fin

Pen

tago

ne

av 40 td 72 av 40 td 72 av 40 td 72 av 40 td 72 av 40 td 72

pour pentagone :c repete 5 [av :c td 72] fin

56

Hex

ago

ne

av 50 td 60 av 50 td 60 av 50 td 60 av 50 td 60 av 50 td 60 av 50 td 60

pour hexagone :c repete 6 [av :c td 60] fin

Oct

ogo

ne

av 30 td 45 av 30 td 45 av 30 td 45 av 30 td 45 av 30 td 45 av 30 td 45 av 30 td 45 av 30 td 45

pour octogone repete 8 [av :c td 45] fin

Pour un polygone quelconque :

pour polygone :n :c repete :n [av :c td 360/:n] fin

57

4) En utilisant les procédures créées ci-dessus, écris une procédure permettant de

dessiner les motifs si dessous. La tortue démarre toujours du centre de la

figure.

Cro

ix d

e m

alte

(co

mp

osé

de

tria

ngl

e)

pour malte :n tg 30 repete 4 [ triangle :n tg 90] fin

Co

mp

osé

d’h

exag

on

e

pour motifhexa :n repete 6 [hexagone :n av :n hexagone :n av :n td 60] fin°

Sois

son

(co

mp

osé

de

losa

nge

)

pour soisson :c :alpha losange :c :alpha av :c td :alpha av :c tg 90 av :c td 180-:alpha losange :c :alpha td :alpha av :c td 90 av :c tg :alpha av :c td 180 fin

58

3. Les nombres triangulaires

Générer un nombre triangulaire

Un nombre triangulaire est un entier naturel non nul qui peut être représenté par

un triangle équilatéral.

6) En observant la figure ci-dessus, détermine les deux prochains nombres

triangulaires et . Explique ta démarche

Le premier nombre triangulaire est 1, le deuxième est 1+2, le troisième est 1+2+3,

en suivant le même raisonnement le cinquième est 1+2+3+4+5=15 et le 6

est1+2+3+4+5+6=21

7) Détermine une formule utilisant la somme et te permettant de trouver

n’importe quel nombre triangulaire

8) Complète la procédure ci-dessous afin de lui permettre de générer un nombre

triangulaire de rang à l’aide d’une boucle.

pour T :n

donne ʺrep 0

repete :n[donne ʺrep :rep+compteur]

retourne :rep

fin

9) Écris une autre formule te permettant de trouver n’importe quel nombre

triangulaire en fonction de celui-qui le précède.

59

10) Complète la procédure ci-dessous afin de lui permettre de générer un nombre

triangulaire de rang par récursivité.

pour T :n

si :n=1

#à exécuter si la condition est vraie

[retourne 1]

#à exécuter si la condition est fausse

[retourne n+t :n-1]

fin

Prouver qu’un nombre est triangulaire

Maintenant que tu sais générer un nombre triangulaire, il peut être intéressant de

créer une procédure qui détermine si un nombre est triangulaire ou non. Les Grecs

avaient découvert la formule suivante :

En transformant cette formule, tu peux écrire,

Autrement dit, si la racine de est un nombre entier alors le nombre est

triangulaire.

2) À l’aide des primitives racine et entier? détermine une procédure qui écris

dans la zone d’historique « Ce nombre est triangulaire » si la racine est entière

et « Ce nombre n’est pas triangulaire » si la racine n’est pas entière.

pour t? :n

si entier? (racine 8*:n-1)

[ec [Ce nombre est un nombre triangulaire]]

[ec [Ce nombre n’est pas un nombre triangulaire]]

Fin

60

4. Pour la factorielle :

Définition 1 :

Algorithme :

pour factorielle :n

#il faut initialiser à 1 et non à 0

donne ʺrep 1

repete :n [donne ʺrep compteur*1]

fin

Définition 2 :

Algorithme :

pour factorielle :n

si :n=1 [retourne 1][retourne n*factorielle :n-1]

fin

61

Annexe III : Commandes Logo utilisées lors des activités

avance, av nombre av 50

Fais avancer la tortue du nombre de pas de tortue indiqué.

recule, re nombre re 100

Fais reculer la tortue du nombre de pas de tortue indiqué.

tournedroite, td nombre td 60

La tortue tourne vers la droite de l’angle indiqué.

tournegauche, tg nombre tg 30

La tortue tourne vers la gauche de l’angle indiqué.

videecran, ve

Efface l'écran et réinitialise la tortue au centre de l’´écran (appelé l’origine).

montretortue, mt

La tortue est visible à l’écran.

cachetortue, ct

Cache la tortue. Peut permettre de rendre l’affichage plus rapide.

levecrayon, lc

Lève le crayon. La tortue ne laisse plus de trait derrière elle lorsqu’elle se

déplace.

baissecrayon, bc

Baisse le crayon. La tortue écrit lorsqu’elle se déplace.

62

procédure

pour nom_de_la_procédure

instruction 1 instruction 2 …

fin

exemple :

pour carre

av 50 td 90 av 50 td 90 av 50 td 90 av 50 td 90

fin

variable

pour nom_de_la_procédure :nom_de_ma_variable

instruction 1 instruction 2 …

fin

exemple :

pour carre :n

av :n td 90 av :n td 90 av :n td 90 av :n td 90

fin

boucle

repete n [instruction 1 instruction 2 …]

exemple :

pour carre :n

repete 4 [av :n td 90]

fin

63

donne ʺnom_de_la_variable valeur_de_la_variable

permet de stocker une valeur numérique dans une variable

exemple :

#stocke la valeur 30 dans la variable age

donne ʺage 30

retourne,ret arg1

permet de sortir d’une procédure en renvoyant la valeur de arg1

exemple :

#procédure retournant le double du nombre en argument

pour foisdeux :n

retourne 2* :n

fin

compteur

Au sein d’une boucle repete est définie une variable compteur désignant le

numéro de l’itération en cours (la première itération est 1)

Exemple :

#affiche la valeur de compteur pour chaque itération

repete 4[ecris compteur]

si condition_test liste1 liste2

si expression_test est vraie alors les commandes de la liste1 sont exécutées

si expression_test est fausse alors les commandes de la liste 2 sont exécutées

Exemple :

pour majorité :age

si :age>=18 [ecris [vous êtes majeurs]] [ecris [vous êtes mineurs]]

fin

entier? arg1

Renvoie vraie si arg1 est un entier

Renvoie faux dans le cas contraire

racine arg1

renvoie la valeur de la racine carrée de arg1

64

Annexe IV : XLogo

1. Présentation de l'interface

1.1 Au premier lancement

La première fois que vous lancez XLogo boîte de dialogue apparaîtra pour vous

permettre de choisir la langue utilisée.

Ce choix n'est pas définitif bien sûr, il peut être corrigé ensuite à l'aide de la boîte

de dialogue de Préférences.

1.2 Fenêtre principale

65

En haut, les traditionnels menus Fichier, Edition, Outils et Aide

Juste en dessous, la ligne de commande qui permet de saisir les instructions

logo.

Au centre, la zone de dessin.

A la droite de la zone de dessin, une barre d'outils vous permet de réaliser

diverses actions :

o Zoom avant/arrière.

o Diverses fonctionnalités d'édition (couper/copier/coller).

o Le bouton « Lecture » permet de lancer la commande principale

définie dans l'éditeur.

En bas, la zone « historique » qui rappelle toutes les dernières commandes tapées

et les réponses associées. Pour rappeler rapidement une instruction déjà tapée, il y

a deux solutions : ou bien vous cliquez sur l'ancienne instruction dans l'historique,

ou bien vous appuyez plusieurs fois sur la flèche du haut jusqu'à ce que

l'instruction désirée apparaisse. Les deux flèches haut et bas permettent en fait de

se déplacer dans toute l'historique des commandes tapées précédemment (Très

pratique).

A la droite de l'historique, deux boutons : STOP et EDITEUR .

o Le bouton STOP interrompt toute exécution en cours.

o Le bouton EDITEUR permet d'ouvrir l'éditeur de procédures.

1.3 L'éditeur de procédures

66

Pour ouvrir l'éditeur, trois possibilités :

Taper ed dans la ligne de commandes. L'éditeur s'ouvrira alors avec toutes les

procédures déjà définies.

Si vous ne souhaitez éditer que certaines procédures particulières, tapé alors :

ed [procedure_1 procedure_2 ...]

Appuyer sur le bouton Editeur de la fenêtre principale.

Utiliser le raccourci clavier Alt+E

Voici les différents boutons que vous trouverez dans l'éditeur :

Sauve les modifications apportés au contenu de l'éditeur puis ferme

celui-ci.

C'est sur ce bouton qu'il faut appuyer à chaque fois que vous voulez

enregistrer les nouvelles procédures tapées. Si vous le préférez, vous

pouvez utiliser le raccourci clavier ALT+Q.

Quitte l'éditeur en n'enregistrant aucune des modifications

apportées à celui-ci. On peut également utiliser le raccourci ALT+C.

Imprime le contenu de l'éditeur.

Copie le texte sélectionné dans le presse-papiers

Coupe le texte sélectionné dans le presse-papiers

Colle le texte sélectionné dans le presse-papiers

Ouvre une boîte de dialogue permettant de chercher ou de

remplacer du texte dans l'éditeur

67

Tout en bas de l'éditeur, un champ texte permet de définir une commande

principale. Celle-ci représente la commande générale qui permet de lancer un

programme. Elle est accessible via le bouton " lecture" de la barre d'outils de la

fenêtre principale. Lorsqu'on sauve le contenu de l'éditeur dans un fichier au

format .lgo, cette commande est également enregistrée.

IMPORTANT :

Cela ne sert à rien d'appuyer sur la croix en haut à droite pour fermer la

fenêtre! Seuls les deux premiers boutons vous permettent de quitter l'éditeur.

Pour effacer une ou plusieurs procédures indésirables, utiliser la primitive efp,

effaceprocedure ou alors utiliser dans la barre de menus Outils - Gestionnaire

de procédures.

1.4 Quitter

Pour quitter XLogo, dans la barre de menu, Fichier - Quitter ou alors cliquer sur la

croix de fermeture de la fenêtre. Une boîte de dialogue de con_rmation apparaît à

ce moment.

68

2. Options des menus

2.1 Menu "Fichier"

Fichier->Nouveau : Détruit l'ensemble des procédures et variables définies

pour créer ainsi un nouvel espace de travail.

Fichier->Ouvrir : ouvre un fichier logo précédemment enregistré.

Fichier->Enregistrer sous ... : enregistre les procédures en cours sous un nom

précis.

69

Fichier->Enregistrer : enregistre les procédures dans le fichier actuellement

utilisé.

Fichier->Capturer l'image->Enregistrer l'image sous... : permet

d'enregistrer l'image sous le format jpg ou png. Si vous souhaitez sélectionner

seulement une partie de l'image, vous avez la possibilité de définir un rectangle

de sélection en faisant glisser la souris sur la zone de dessin.

Fichier->Capturer l'image->Imprimer l'image : permet d'imprimer l'image.

De même que précédemment, vous pouvez sélectionner une zone précise à

imprimer.

Fichier->Capturer l'image->Copier l'image dans le presse-papier : Permet

d'envoyer l'image dans le presse-papier système. De même que pour

l'impression et l'enregistrement, vous pouvez ne sélectionner qu'une zone de

l'image. Cette fonctionnalité fonctionne très bien sous les environnements de

type Windows. En revanche, elle ne marche pas sous Linux (Le presse-papier

n'a pas le même typede fonctionnement). Non testé sous Mac.

Fichier->Zone de texte->Enregistrer au format RTF : Permet d'enregistrer

la zone d'historique au format RTF (conserve les couleurs et le formatage des

caractères).

Fichier->Quitter : quitte l'application XLOGO.

2.2 Menu "Edition"

70

Edition->Copier : copie le texte sélectionné dans le presse-papiers.

Edition->Couper : coupe le texte sélectionné dans le presse-papiers.

Edition->Coller : colle le texte contenu dans le presse-papiers dans la ligne de

commande.

Edition->Sélectionner tout : Sélectionne l'ensemble du texte de la zone de

commande.

2.3 Menu "Outils "

Outils->Choisir la couleur du crayon : permet de choisir la couleur avec

laquelle écrit la tortue à l'aide d'une palette de couleurs.

Disponible également avec la primitive fcc

Outils->Choisir la couleur du fond : même chose avec le fond d'écran.

Disponible avec la primitive Fcfg.

Outils->Définir les fichiers de démarrage : permet de définir des chemins

vers des fichiers dit " de Démarrage". Toutes les procédures contenues dans ces

fichiers au format *.lgo deviendront alors des"pseudo-primitives "du langage

XLogo. Elles ne sont pas éditables ni modifiables par l'utilisateur. Vous pouvez

ainsi définir des primitives personnalisées. Vous pouvez de plus lui donner une

commande(en logo) à effectuer au démarrage de XLogo. Vous avez ainsi la

possibilité de lancer un programme que vous avez conçu dès l'ouverture de

XLogo.

71

Outils->Traduire des procédures : Ouvre une boîte de dialogue qui permet

de traduire des commandes XLogo dans une langue désirée. (Très utile en

particulier lorsqu'on récupère des sources Logo en anglais sur internet pour les

remettre en français)

Outils->Gestionnaire de procédures : Ouvre une boîte de dialogue

permettant d'effacer des procédures. Elle permet également de changer l'ordre

d'apparition des procédures dans l'éditeur.

72

Options->Préférences : Ouvre une boîte de dialogue dans laquelle vous

pouvez configurer plusieurs choses :

Onglet général :

-Langue : permet de choisir entre le français, l'anglais, l'espagnol, le

portugais, l'arabe, l'allemand et l'espéranto. Attention, les primitives

changent d'une langue à, l'autre.

-Aspect : permet de définir le " look " de la fenêtre XLogo. Soit style natif,

style Java (Métal) ou style Motif

-Choisir la vitesse de défilement. Si vous souhaitez voir tous les

déplacement de la tortue, vous pouvez la ralentir à l'aide de la barre prévue

à cet effet.

Onglet Choix de la tortue : vous pouvez choisir votre tortue préférée.

73

Onglet Options : Plusieurs choses peuvent être fixées.

-Grille : vous pouvez choisir de tracer une grille en fond d'écran. Il est

possible de choisir la largeur et la hauteur d'un carreau de la grille ainsi que

sa couleur.

-Axes : vous pouvez choisir de tracer l'axe vertical ou l'axe vertical en fond

d'écran. Vous pouvez définir la distance entre deux graduations ainsi que la

couleur de chaque axe.

-Couleur de fond d'écran : Possibilité de défnir une couleur de fond

d'écran par défaut.

-Couleur de crayon : Possibilité de dé_nir une couleur de crayon par

défaut.

-Motif de bordure : Possibilité de dé_nir un motif précis pour la bordure

encadrant la zone de dessin (soit sous forme d'une image soit sous forme

d'une couleur unie.)

74

-Epaisseur du crayon : On peut fixer une taille limite à l'épaisseur du

crayon. Si l'on ne veut pas utiliser cette limitation, mettre le nombre -1 dans

la zone de texte associée.

-Forme du crayon : Ensuite, on peut choisir la forme du crayon de la tortue,

on ne se rend compte du choix de cette option que lorsque l'on choisit une

épaisseur de crayon supérieure à 1.

- Nombre maximal de tortues : On peut également fixer le nombre de

tortues maximum en mode multitortues. (Par défaut 16)

-Précision du tracé : Vous pouvez choisir la qualité du tracé. En haute

qualité, vous n'aurez plus d'effetet de crénelage des lignes. En revanche,

bien repérer qu'en augmentant la qualité, vous perdrez en rapidité

d'exécution.

- Effacer la zone de dessin en sortie d'éditeur : On peut choisir d'effacer

automatiquement la zone de dessin lorsqu'on sort de l'éditeur.

-Effacer les variables en sortie d'éditeur : Certains utilisateurs apprécient

qu'à chaque changement dans l'éditeur, les variables globales soient

automatiquement détruites. C'est possible en activant cette option.

-Taille de la zone de dessin : Vous pouvez choisir une taille personnalisée

pour la zone de tracé. Par défaut XLogo se lance avec une zone de 1000

pixels sur 1000 pixels. Attention, lorsque vous agrandissez l'image, il peut-

être nécessaire d'augmenter la taille mémoire attribuée à XLogo. Un

message d'erreur vous en avertira.

75

-Mémoire allouée à XLogo : Vous pouvez par conséquent également

changer la valeur correspondant à l'espace mémoire alloué à XLogo. Par

défaut, cette valeur est fixée à 64 Mo. Il se peut que vous soyez obligé de

l'augmenter si vous souhaitez travailler sur une zone de dessin plus grande.

Lorsqu'on modifie ce paramètre, le changement n'est effectif qu'après

redémarrage de XLogo.

Attention, n'augmentez pas abusivement sans raison cette valeur, cela peut

considérablement ralentir votre système.

-Numéro du port TCP : Permet de choisir une valeur particulière pour le

port utilisé lors des communications réseau

-Onglet Son : vous trouverez la liste des instruments que peut imiter votre

carte son au travers de l'interface MIDI. Vous pouvez sélectionner un

instrument précis en cliquant dessus. (Vous pouvez également également

sélectionner un instrument avec la primitive fixeinstrument numéro. Si la

liste des instruments n'apparait pas, voir la FAQ en fin de manuel à ce sujet.

-Onglet Police : Dans le cinquième onglet, vous pouvez choisir la police de

l'interface graphique ainsi que sa taille. Attention ceci n'a_ecte pas la police

rendue par les primitives ecris et etiquette

76

-Onglet Coloration syntaxique : Possibilité d'activer ou non la coloration

syntaxique et de défnir des couleurs personnalisées

2.4 Menu " Aide "

Menu Aide->Manuel en ligne : Affiche le manuel de référence de XLogo,

accessible uniquement avec une connexion internet.

Menu Aide->Licence : Affiche la licence GPL sous laquelle est distribué ce

logiciel.

Menu Aide->Traduction française : affiche une traduction de ladite licence.

Cette traduction n'a aucune valeur officielle, seule la version anglaise a ce rôle.

Menu Aide->Traduire XLogo : Ouvre une boîte de dialogue permettant de

consulter/modifier/compléter l'ensemble des traductions de XLogo (messages

et primitives).

77

Il est également possible de créer les traductions pour une nouvelle langue.

Dans chacun des cas le fichier généré est à envoyer à [email protected].

Menu Aide->A propos : Classique .... et http ://xlogo.tuxfamily.org pour vos

mises à jours ! ! o :)

78

3. Choix du langage de programmation

Pédagogie constructiviste :

- Résoudre des problèmes en les décomposant en sous-problèmes, ce qui

conduit à des procédures et sous-procédures imbriquées les unes dans les

autres ;

- Développer la pensée algorithmique ;

- Créer des projets, les modifier, les réaliser et les formaliser simplement ;

- Utiliser l’erreur et en faire un facteur de réussite ;

- Apprendre à communiquer avec ses pairs et le professeur ;

- Anticiper par la pensée des solutions avant de les vérifier.

Il permet à l’élève de conjecturer et de projeter, ensuite de tester et vérifier, ce qui

est l’essence même de la démarche mathématique et de la démarche scientifique

en général. Il peut donc contribuer valablement à la formation des esprits.

Dans de nombreux cas, certaines notions mathématiques auront déjà été vues par

d’autres voies, mais Logo permet de les affiner, les assurer en les réinvestissant

sous des facettes nouvelles dans de multiples activités.