
Dr. Geo II est un logiciel libre1 multiplate-formes de géométrie interactive. Il est une réécriture complète de Dr. Geo 1.1 en Smalltalk. Pharo, implémentation libre de ce langage et environnement de développement performant – http://pharo-project.org –, a été utilisé pour ce faire. Dr. Geo 1.1 était écrit en C++ et intégrait un interpréteur Scheme pour la rédaction de scripts et de figures programmées. Dr. Geo II permet également l’intégration de scripts dans les figures géométriques ainsi que l’écriture de figures interactives entièrement décrites avec un langage de programmation.
Le choix d’une réécriture en Smalltalk fut motivé par les qualités dynamiques uniques de ce langage ; celui-ci nous permet en effet de pousser extrêmement loin nos investigations sur les dimensions interactives entre l’utilisateur et le logiciel. Ainsi Dr. Geo n’est pas seulement un logiciel convivial de géométrie interactive mais aussi, tel que distribué, un environnement complet de programmation dans lequel le logiciel peut être étudié, modifié et amélioré. Pour s’en convaincre, l’utilisateur est invité à cliquer sur le fond de l’environnement Dr. Geo – en dehors de toute fenêtre – puis à presser les touches Ctrl-b. Le navigateur de classes affiché permet de modifier le code source de Dr. Geo alors que celui-ci est en fonctionnement. Cet accès au code source du logiciel, pour l’étudier, le modifier et le redistribuer est complètement ancré dans l’esprit du logiciel libre pour une approche non verrouillé à une informatique autre que de béatitude. Loin de nous l’idée de prétendre que Dr. Geo permet de rendre les esprits plus alertes, néanmoins il y contribue assurément.
La navigateur de code source de Dr. Geo
Avec ce même esprit, les systèmes de figures programmées et de scripts – présentés dans les sections sur les outils avancés – sont adossés à un outillage évolué de mise au point du code : navigateur, débogueur, inspecteur d’objet.
Dans la suite du document, nous nommerons indifféremment le logiciel Dr. Geo II ou Dr. Geo.
Dr. Geo permet de créer des figures géométriques et de les manipuler interactivement en respectant leurs contraintes géométriques. Il offre également la possibilité d’introduire graduellement la programmation. Il est ainsi utilisable dans des situations d’enseignement allant du niveau primaire au niveau supérieur.
L’interface utilisateur de Dr. Geo a été conçue pour allier dans un ensemble harmonieux à la fois simplicité d’utilisation, ergonomie et fonctionnalités avancées.
Ainsi l’interface de Dr. Geo, sous une apparence de très grande simplicité, permet au néophyte de se familiariser très rapidement avec les fonctions de base du logiciel. Puis, au cours de sa progression, l’utilisateur découvrira des aspects plus avancés de l’interface et du fonctionnement de Dr. Geo : multiplicité des modalités de construction d’objet1 , macro-construction, enregistrement multiple, scriptabilité, Figure Smalltalk de Dr. Geo, héritage de Smalltalk dans Dr. Geo. Ces fonctionnalités avancées génèrent peu de surcharge sur l’interface, c’est pour cela que Dr. Geo est très agréablement utilisé en enseignement primaire, cependant il est également très intéressant pour le lycée.
Dans les sections suivantes, les outils de base seront exposés. Ensuite les fonctionnalités avancées seront présentées en détail.
Écran de bienvenue de Dr. Geo
L’agencement de l’interface est comme suit :
Pour créer une nouvelle figure géométrique, l’utilisateur va dans le menu Fichier->Nouveau . Pour chaque nouvelle figure, une fenêtre distincte est proposée avec ses propres barres de menus et d’icônes.
Dr. Geo dispose de son propre espace web sur le site d’OFSET à l’adresse : http://www.ofset.org/drgeo.
Sur cet espace, l’utilisateur trouvera les informations suivantes :
Ces outils sont partagés en six groupes accessibles à partir de la seconde barre d’icônes de Dr. Geo.
Catégories d’outils de Dr. Geo et leurs descriptions
Lorsque l’utilisateur clique sur une des flèches associées aux icônes de la barre d’outils, une barre verticale d’icones s’affiche immédiatement. Celle-ci regroupe des fonctions d’une même famille. Lorsqu’un outil est choisi dans une barre verticale, celui-ci prend la place du bouton alors visible dans la barre horizontale d’outils. L’utilisateur peut ainsi naviguer plus facilement entre plusieurs outils.
De la gauche vers la droite, nous avons accès aux barres d’icônes verticales pour construire des points et des lignes, utiliser des transformations, calculer des valeurs, gérer les macro-constructions.
Ces fonctions se retrouvent à l’identique dans le menu en haut de chaque fenêtre de Dr. Geo.
Crée un point libre dans le plan ou sur un objet unidimensionnel (segment, demi-droite, droite, arc de cercle, cercle, lieu) :
Pour créer un point d’intersection entre deux lignes (c.-à-d. droite, demi-droite, segment, arc de cercle, cercle), il suffit de cliquer à l’intersection de celles-ci.
Une possibilité est de placer deux valeurs libres dans la figure – outils Numériques – puis de construire le point ayant pour coordonnées ces deux valeurs – outil Point défini par ses coordonnées. Cette possibilité a un avantage sur la précédente, le point ainsi construit ne peut pas être déplacé directement à la souris, le point est en quelque sorte bloqué dans sa position.
Crée le milieu de deux points ou d’un segment :
Crée un point défini par ses coordonnées. L’utilisateur doit soit sélectionner un script retournant un couple de coordonnées – soit sélectionner deux nombres : le premier correspond à l’abscisse, le second à l’ordonnée.
Cette fonction est largement utilisée lorsque nous souhaitons par exemple construire le lieu d’un point. Cette construction suppose au préalable l’existence de deux valeurs le point est ensuite construit en sélectionnant ces deux valeurs.
Crée une droite définie par deux points. L’utilisateur sélectionne deux points.
Crée une ligne parallèle à une direction et passant par un point. L’utilisateur sélectionne un point et une direction (c.-à-d. une droite, une demi-droite, un segment ou un vecteur).
Crée une droite perpendiculaire à une direction et passant par un point. L’utilisateur sélectionne un point et une direction (c.-à-d. une droite, une demi-droite, un segment ou un vecteur).
Crée une demi-droite définie par deux points. L’utilisateur sélectionne deux points, le premier est l’origine, le second appartient à la demi-droite.
Crée un segment donné par deux points.
Crée un vecteur donné par deux points. L’utilisateur sélectionne deux points, le premier est l’origine, le second est l’extrémité.
Une fois que le vecteur est créé, celui-ci peut être déplacé indépendamment des deux points. Ceci reste vrai pour un vecteur construit par une transformation.
Crée un cercle. L’utilisateur peut créer un cercle à partir de différentes sélections :
Crée un arc de cercle défini par trois points. Le premier est l’origine de l’arc, le troisième est l’extrémité, le second est un point de l’arc.
Crée un lieu défini par deux points. L’utilisateur sélectionne deux points, l’un des deux est un point sur une ligne, l’autre est un point sous contraintes du premier (c.-à-d. quand l’un bouge, l’autre fait de même).
Crée un polygone défini par n points. L’utilisateur sélectionne n+1 points limitant le polygone. Le premier et le dernier sont un seul et même point ce qui indique à Dr. Geo que la sélection est terminée. L’objet polygone n’est pas un objet comme les autres lignes, il n’est pas possible de placer un point dessus ou de construire une intersection entre un polygone et une autre ligne. En revanche il est possible de construire l’image d’un polygone par une transformation géométrique.
La figure peut être déplacée à l’aide des molettes dans le coin en bas à droite de la figure.
Un objet peut être déplacé par glisser-déposer. La figure est alors redessinée en respectant ses propriétés. Quasiment tous les objets géométriques peuvent être déplacés. Si nécessaire, Dr. Geo déplace les points libres associés. Par exemple, quand l’utilisateur déplace une droite définie par deux points, Dr. Geo déplace les deux points simultanément.
Un objet d’une figure peut être supprimé en activant ce menu. Éventuellement, l’utilisateur peut annuler la suppression à l’aide de la fonction d’annulation à partir de la barre d’icônes ou du menu de l’application. Par défaut le nombre d’annulations possibles est de 10 mais l’utilisateur peut ajuster cette valeur depuis la boîte de dialogue des préférences.
Chaque objet géométrique a ses propres attributs de style comme la couleur, l’épaisseur, l’étiquette, la taille et la forme. De plus, il est possible de cacher temporairement un objet sans le supprimer. Par exemple, il peut être utile de cacher des constructions intermédiaires sans les supprimer. Tous ces attributs sont ajustables depuis le menu contextuel qui s’affiche lorsque l’utilisateur clique sur un objet de la figure. Pour cela il faut d’abord se mettre dans le mode d’édition de style en cliquant sur le bouton
de la barre d’outils.
Le menu contextuel de style d’un point concerne tous les types de points. Il est possible d’ajuster la couleur, la forme, la taille, le nom et la visibilité.
Menu et sous-menus pour éditer le style d’un objet point
Le menu contextuel de style d’une ligne concerne les droites, les demi-droites, les segments, les vecteurs, les cercles, les arcs de cercle, les lieux de points et les polygones. Il est possible d’ajuster la couleur, l’épaisseur, le style de trait, d’adjoindre des flèches pour les segments et d’éditer le nom et la visibilité.
Menu et sous-menus pour éditer le style d’un objet ligne
Le menu contextuel de style d’une valeur concerne toutes les sortes de valeurs : saisie par l’utilisateur, correspondant à une mesure ou calculée par un script Smalltalk Dr. Geo. Il permet de modifier la couleur d’affichage, d’éditer la valeur – pour les valeurs librement saisies par l’utilisateur – d’éditer le nom et la visibilité de la valeur.
Menu et sous-menu pour éditer le style des valeurs
Il est possible d’afficher ou cacher une grille unitaire dans toute figure de Dr. Geo, la commande est accessible depuis le bouton
de la boîte d’outils. La grille est unitaire, chaque subdivision représente une unité. Enfin, lors de la sauvegarde d’une figure, l’état de la grille est également sauvegardé (affichée ou non affichée).
Lors de la création ou du déplacement de points, il est possible de coller ceux-ci à la grille – ou au mieux selon la contrainte du point. Pour cela il suffit d’activer la fonction grille aimantée avec le bouton
de la boîte d’outils.
Les constructions peuvent être enregistrées de deux manières. Une construction par fichier ou un ensemble de constructions par fichier (c.-à-d. une session Dr. Geo). Nous vous rappelons que les documents contenant des figures doivent être sauvegardés avec une extension .fgeo et ceux contenant uniquement des macro-constructions avec l’extension .mgeo. Pour les documents contenant des figures et des macro-constructions, utiliser l’extension .fgeo.
Ceci n’est qu’indicatif mais suivre ces règles permet de s’y retrouver plus facilement dans ses fichiers.
Depuis le menu Fichier->Renommer, l’utilisateur change le nom et le titre de la fenêtre de la figure active. Cette fonction est particulièrement utile lorsque l’utilisateur sauvegarde un ensemble de figures dans un unique fichier de session.
À partir du menu Fichier->Enregistrer, la figure de la vue active est enregistrée dans un fichier.
|
Dr. Geo peut travailler avec plusieurs figures en même temps, chaque figure ayant sa propre fenêtre. L’utilisateur peut passer d’une figure à l’autre en utilisant la barre des tâches en bas de l’environnement Dr. Geo. |
Avec le menu Fichier->Enregistrer sous..., l’utilisateur peut changer le nom du document enregistré.
Une session est un ensemble de données de Dr. Geo que l’utilisateur enregistre d’un seul coup dans un fichier. Cela permet de placer un ensemble de données (figures et macro-constructions) dans un seul fichier, afin de faciliter leurs réutilisations.
À partir du menu Fichier->Enregistrement multiple, l’utilisateur accède à la boîte de dialogue de sauvegarde d’une session.
La boîte de dialogue de session Dr. Geo
Dans cette boîte de dialogue, la liste de toutes les données actives est présentée dans une colonne. Chaque ligne est préfixée du tag Fig1 ou Macro selon son type, la seconde partie de la ligne contient le nom de la donnée.
| |
Actuellement, une session peut contenir deux types de données : figure interactive 2D et macro-construction. |
L’utilisateur sélectionne les données à enregistrer en cochant leur case puis valide avec le bouton OK .
| |
Le menu Fichier->Enregistrement multiple est le seul moyen d’enregistrer une macro-construction dans un fichier. |
Pour enregistrer une ou des macro-constructions dans un fichier, procéder comme pour l’enregistrement d’une session – enregistrement multiple. Depuis la boîte de dialogue de sauvegarde d’une session, sélectionner la ou les macro-constructions à sauvegarder, puis sauver dans un fichier d’extension .mgeo. C’est tout !
Il est ainsi possible de constituer des librairies de macro-constructions, une par fichier ou plusieurs regroupées selon un même thème dans un seul fichier.
Dans ce chapitre, nous présentons les fonctionnalités qui permettent d’étendre les possibilités de Dr. Geo ou de l’adapter à une situation pédagogique donnée.
La première est la macro-construction. Elle permet d’extraire une construction logique pour la placer dans un enregistrement. Cet enregistrement peut ensuite être répété autant de fois que souhaité, sauvegardé dans un fichier et ouvert ultérieurement dans une autre figure.
Les scripts Smalltalk Dr. Geo représentent une autre fonctionnalité pour étendre Dr. Geo. Ces scripts sont de véritables items de figure, comme les items géométriques. En entrée, ils reçoivent une ou plusieurs références d’items géométriques et ils retournent une valeur placée dans la figure. Ce sont en fait des fonctions1 greffées dans une figure, elles sont évaluées à chaque mise à jour de la figure (c.-à-d. lorsque la figure a besoin d’être redessinée). Les scripts Smalltalk Dr. Geo sont utiles pour la valeur qu’ils retournent ou leur effet de bord, cela dépend de ce que l’utilisateur souhaite réaliser.
En extension des scripts Smalltalk, Dr. Geo propose d’aller encore plus loin avec les figures Smalltalk de Dr. Geo. Cette fois il s’agit de décrire une figure géométrique complètement sous la forme d’un code source écrit dans le langage Smalltalk. La force de cette approche est de permettre une construction fonctionnelle2 des figures et non plus simplement déclarative comme c’est le cas avec l’interface graphique.
Une macro-construction ressemble un peu à une procédure qui reçoit des items d’une figure en entrée et qui retourne un ou plusieurs items de figure, construits par la macro-construction. Une macro est construite à partir d’un modèle défini par l’utilisateur. Cela signifie que l’utilisateur doit réaliser la séquence de construction une première fois dans une figure puis demander à Dr. Geo de l’enregistrer dans une macro-construction. La macro-construction peut ensuite être sauvegardée dans un fichier au même titre qu’une figure.
Pour enregistrer une séquence de construction, Dr. Geo doit connaître les items initiaux de la séquence ainsi que les items finaux. Évidemment, les items finaux ne doivent dépendre que des items initiaux1 , sinon Dr. Geo ne sera pas capable de déduire les items finaux à partir des items initiaux.
Ainsi, Dr. Geo déduit la logique de la séquence de construction et l’enregistre dans une macro-construction. L’utilisateur peut alors répéter cette séquence en jouant la macro-construction, elle demande seulement des items initiaux (du même type) de la figure et construit les items résultants.
|
Les items de figure intermédiaires et invisibles sont aussi construits par la macro-construction. Ils sont nécessaires pour construire les items résultants. |
Pour illustrer la fonctionnalité macro-construction, nous prenons l’exemple de la construction du cercle passant par trois points.
La figure initiale
Avant la création de la macro-construction, l’utilisateur doit construire la figure finale, elle est considérée comme modèle par la macro-construction.
La figure avec la construction finale
À cette étape, la séquence de construction est faite. L’utilisateur doit maintenant avertir Dr. Geo qu’il veut une macro-construction à partir de cette séquence. Il doit appeler la fonction Construire une macro à partir de la barre d’icônes
ou depuis le menu Macro-construction>Construire une macro de la fenêtre de la figure.
Depuis la boîte de dialogue qui s’affiche alors, l’utilisateur sélectionne les paramètres d’entrée et de sortie, le nom et la description de la macro-construction.
Première page introductive de la boîte de dialogue
de l’assistant pour construire une macro-construction
La seconde page de la boîte de dialogue sert à sélectionner les paramètres d’entrée. Dans notre exemple, ce sont les trois points initiaux. L’utilisateur a juste besoin d’aller jusqu’à cette seconde page et il sélectionne les trois points A, B et C de la figure. Les points sélectionnés clignotent alors et leur nom s’affiche dans la page de la boîte de dialogue.
La seconde page, les trois points sont sélectionnés
À partir de la troisième page, l’utilisateur choisit les paramètres de sortie. Dans notre exemple, nous voulons le cercle et son centre comme résultat de la macro-construction. L’utilisateur clique alors sur ces deux objets dans la figure, lorsque sélectionnés ces derniers clignotent et leur nom apparaît dans la boite de dialogue.
La troisième page, le cercle et son centre sont sélectionnés
Dans la quatrième page, l’utilisateur entre le nom et la description de la macro-construction. Ces informations sont affichées lorsque l’utilisateur exécute une macro-construction. Ceci permet de distinguer les macro-constructions entre elles.
La quatrième page, le nom et la description de la macro-construction
L’utilisateur valide ensuite la définition de la macro-construction en appuyant sur le bouton Appliquer. Il peut aussi revenir aux étapes précédentes pour ajuster les paramètres de la macro-construction.
|
Si la sélection des paramètres d’entrée et de sortie ne correspond pas (Dr. Geo ne peut pas extraire la logique de la construction), la macro-construction ne peut pas être créée. Dans ce cas, l’utilisateur doit reconsidérer la sélection des paramètres d’entrée et de sortie. Il peut revenir à la seconde ou la troisième page de la boîte de dialogue de l’assistant pour ajuster ses choix. |
À cette étape, la macro-construction est créée et enregistrée dans Dr. Geo. Dans la prochaine section, nous verrons comment l’utiliser.
Pour exécuter une macro-construction, l’utilisateur clique sur le bouton
de la barre d’outils ou choisit le menu Macro-construction>Jouer une macro de la fenêtre de la figure. Une boîte de dialogue décrivant la procédure s’affiche alors.
À partir de celle-ci, l’utilisateur sélectionne la macro-construction. Dans la seconde page, il sélectionne la macro-construction dans la liste en haut de la boîte de dialogue. Une fois la macro sélectionnée, il peut directement choisir les paramètres d’entrée dans la figure. Dès que tous les paramètres d’entrée sont sélectionnés, la macro-construction est exécutée et les paramètres finaux sont affichés.
L’utilisateur sélectionne les paramètres d’entrée dans la figure
Dans notre exemple, la macro-construction nécessite trois paramètres d’entrée (trois points) et elle construit un point et un cercle. Pour exécuter notre macro-construction, il faut une figure avec au moins trois points.
Une figure avec trois points
Une fois que notre macro-construction est appliquée à ces trois points, nous avons le cercle souhaité et son centre.
La figure finale avec le cercle et son centre
Dr. Geo est une application dynamique écrite en Smalltalk. Cela signifie qu’il est possible de modifier Dr. Geo alors qu’il est en cours de fonctionnement. Nous avons exploité cette possibilité pour définir dans Dr. Geo des items de figure qui sont en fait des scripts Smalltalk – des bouts de codes – pour étendre dynamiquement, à l’infini, les possibilités de Dr. Geo. Mais qu’est-ce que Smalltalk ?
Smalltalk est un langage de programmation orienté objet, réflexif et dynamiquement typé. Il fut l’un des premiers langages de programmation à disposer d’un environnement de développement intégré complètement graphique. Il a été créé en 1972. Il est inspiré par Lisp et Simula. Il a été conçu par Alan Kay, Dan Ingals, Ted Kaehler, Adele Goldberg au Palo Alto Research Center de Xerox. Le langage a été formalisé en tant que Smalltalk-80 et est depuis utilisé par un grand nombre de personnes. Smalltalk est toujours activement développé.Smalltalk a été d’une grande influence dans le développement de nombreux langages de programmation, dont : Objective-C, Actor, Java et Ruby.
Un grand nombre des innovations de l’ingénierie logicielle des années 1990 viennent de la communauté des programmeurs Smalltalk, tels que les Design Patterns (appliquées au logiciel), l’Extreme Programming (XP) et le refactoring. Ward Cunningham, l’inventeur du concept du Wiki, est également un programmeur Smalltalk.1
Cet extrait de la préface du livre Pharo By Example2 – http://pharobyexample.org – décrit précisément la plate forme Smalltalk utilisée pour Dr. Geo :
Pharo est une implémentation moderne, libre et complète de l’environnement et langage de programmation Smalltalk.
Pharo s’attache à offrir une plate forme robuste et stable pour du développement professionnel en langages et environnement dynamiques.
Dr. Geo exploite l’environnement Smalltalk pour proposer, d’une part, un environnement convivial d’écriture de scripts et, d’autre part, pour donner accès à l’interface des items géométriques ou numériques constitutifs d’une figure. L’interface est en fait l’ensemble des méthodes d’instance – fonctions de classe – de ces items.
Ainsi l’utilisateur peut écrire des scripts pour manipuler les items des figures ; et puisque ces scripts sont des items de figure au même titre que d’autres, ils n’ont pas besoin d’être dans un fichier séparé, ils sont enregistrés dans le fichier de la figure.
L’autre grande force des script est de s’appuyer sur l’environnement de développement de Pharo Smalltalk ; l’utilisateur bénéficie ainsi d’outils évolués pour mettre au point ses scripts : navigateur de classes, inspecteur, débogueur, etc. L’utilisateur souhaitant exploiter au mieux la puissance des scripts est donc invité à étudier le livre Pharo By Example – http://pharobyexample.org, il y apprendra le langage Smalltalk et son environnement.
Les scripts ont deux facettes :
L’outil pour créer ou éditer un script est disponible depuis le menu Numériques>Éditer un script, la fonction est aussi disponible depuis la barre d’outils.
L’outil pour utiliser un script est disponible depuis le menu Numériques>Utiliser un script, la fonction est aussi disponible depuis la barre d’outils.
Un script peut recevoir de 0 à n paramètres d’entrée. Après avoir choisi un script à insérer dans la figure, il suffit de choisir, dans la construction, les paramètres d’entrée puis de cliquer quelque part sur le fond de la figure pour y placer le résultat du script.
Dans la suite nous vous proposons de travailler sur quelques exemples de scripts, leurs fonctionnalités et leur puissance seront plus facilement analysées. Les scripts, comme les macro-constructions, donnent une dimension particulière à Dr. Geo, ils permettent – chacun avec un positionnement différent3 – d’aller là où les auteurs du logiciel ne sont pas allés ou ne souhaitent pas aller.
Il est aussi important de comprendre que la plupart des fonctionnalités de Pharo Smalltalk sont disponibles depuis les scripts. C’est particulièrement vrai pour ses bibliothèques de fonctions4 , nous allons bien sûr les utiliser intensément.
La procédure pour créer un script sans paramètre d’entrée est la suivante :
Choisir Numériques>Éditer un script dans le menu. L’éditeur de script s’affiche alors :
L’éditeur de script comprend trois parties :
Dans l’éditeur de script, cliquer sur la catégorie scripts jusqu’à ce que la zone texte en bas contienne le modèle de script tel qu’affiché dans la figure. Saisir alors le code source ci-dessous et comme dans la figure plus bas :
MonPremierScript "Le commentaire de mon premier script" ^ 'hello !'.
Sauvegarder le script par la combinaison de touches Ctrl-s, Dr. Geo vous demandera vos nom et prénom, vous pouvez entrer vos initiales, c’est sans grande importance pour le moment. La premier ligne du script, MonPremierScript désigne le nom du script, la suite est le code source du script. La première ligne de celui-ci, entre guillemets, est un commentaire de ce que fait le script, nous conseillons de bien le documenter car c’est utile pour la suite.
Mon premier script
L’éditeur de script peut maintenant être fermé.
Choisir Numériques>Utiliser un script dans le menu. Dans la boîte de dialogue qui s’affiche alors, choisir le script MonPremierScript que nous avons créé précédemment. Noter qu’à chaque fois qu’un script est choisi, son commentaire descriptif est affiché en bas de la boîte de dialogue.
Choisir un script
Une fois le script sélectionné, cliquer dans la figure à l’emplacement souhaité, le script y sera inséré ; dans cet exemple le script ne fait que retourner le message « hello ! ». La valeur retournée par un script est celle affichée dans la figure.
Dans les exemples qui suivent, nous donnons simplement le code source des scripts Smalltalk, il suffira de reprendre les étapes expliquées précédemment pour créer le script correspondant et l’utiliser dans une figure, nous ne revenons pas sur ces étapes.
Si vous souhaitez un générateur de nombres entiers aléatoires entre 0 et 10, rien de plus simple, c’est ce que fait le script suivant :
aléatoire "Je retourne un nombre continuellement modifié aléatoirement" ^ 10 atRandom.
À chaque mise à jour de la figure, il génère un nombre aléatoire entier dans l’intervalle [0 ; 10].
Si vous préférez un nombre flottant dans l’intervalle [0 ; 1], utilisez ce script :
aléatoire2 "Je retourne un nombre décimal aléatoire entre 0 et 1" ^ 100 atRandom / 100.
|
Quelques précisions :
|
Pour calculer une valeur approchée de π :
pi ^ Float pi
ou de e :
e ^ Float e
Les valeurs retournées par ces scripts sont ensuite utilisables comme toutes les autres valeurs numériques que peut générer Dr. Geo. Pour toutes ces petites choses les scripts sont donc vos amis. Mais ils peuvent faire bien plus de choses intéressantes lorsqu’ils reçoivent des paramètres en entrée.
En effet ici les scripts n’avaient aucun argument, il n’y avait donc pas lieu de sélectionner des items de la figure lors de l’insertion des scripts dans la construction. Bien sûr leur intérêt réside dans les traitements numériques qu’ils permettent sur des items et la restitution de ce résultat dans la figure, sous la forme d’un objet qui lui même peut-être utilisé par d’autres scripts. Dans les sections suivantes nous montrerons de tels enchaînements de scripts.
La procédure pour créer un script avec un paramètre d’entrée est sensiblement la même :
distanceToOrigin: item "Retourne la distance à l'origine d'un point" ^ item point dist: 0@0
Quelques explications :