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 ...
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
ré
Rec
tan
gle
Lo
san
ge
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
ré
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.