per page, with , order by , clip by
Results of 0 - 1 of about 0 (0.000 sec.)
Script avec un paramètre (Dr.Geo, soit un géomètre)
@digest: 80ca2125d876db6e0c77f93373d12112
@id: 27191
@mdate: 2019-08-06T08:10:01Z
@size: 11813
@type: text/html
content-type: text/html; charset=utf-8
description: Script avec un paramètre (Dr.Geo, soit un géomètre)
distribution: global
generator: texi2any
keywords: Script avec un paramètre (Dr.Geo, soit un géomètre)
resource-type: document
#keywords: paintred (33166), polygone (32874), costume1 (25390), isquad (20437), paintblue (19644), colorier (19159), diagonales (18553), quadrilatere (18162), costume (14128), calcules (13814), drgpolygonitem (13353), diag1 (12397), diag2 (12397), mid1 (10224), milieux (10014), mid2 (8401), pharo (8094), methode (7542), retourner (7460), methodes (7161), parametre (6995), mathematique (6661), constructeur (6279), sommets (6210), couleur (5336), classe (4913), calculs (4687), logique (4345), retourne (4318), iffalse (4281), attributs (4170), modele (3639)
Next: Script avec deux paramètres , Previous: Script sans paramètre , Up: Script Pharo [ Index ] 6.2 Script avec un paramètre L'exemple Prenons l'exemple d'un script qui étant donné un polygone va : Afficher un message pour indiquer si c'est un rectangle. Colorier en bleu le polygone lorsqu'il est un rectangle, sinon en rouge. Objectif Cet exemple montre comment faire des calculs à partir de l'état d'un objet – un polygone – et modifier un attribut visuel d'un objet – sa couleur. Étant donné que le langage informatique Pharo des scripts est le même que celui de Dr.Geo, nous montrons que l'étude du fonctionnement interne de Dr.Geo permet d'utiliser au mieux les scripts. Enfin les trois constituants d'un objet mathématique sont exposés : hiérarchies des classes DrGMathItem pour le modèle mathématique, DrGMathItemCostume pour la représentation visuelle et DrGCostumeStyle pour gérer les attributs visuels (couleur, formes,...). Créer le script La procédure pour créer un script avec un paramètre d'entrée est sensiblement la même. Toutefois un argument de type polygone est nécessaire, en effet lors de son utilisation il faut choisir un polygone dans la figure. Les paramètres du constructeur de ce script – à invoquer par le menu ...Script → Créer un script... ressembleront à la figure ci-jointe – See scriptConstructorOneArg . Figure 6.4: Le constructeur de script avec un argument demandé Logique de fonctionnement La logique de ce script est implémentée dans sa méthode compute . Elle est la suivante : colorier en rouge le polygone tester si le polygone est un quadrilatère, dans la négative retourner le message 'Je ne suis même pas un quadrilatère' . tester si ses diagonales sont isométriques et partagent le même milieu : si oui, colorier en bleu le polygone et retourner le message 'Je suis un rectangle . si non, retourner le message 'Je ne suis PAS un rectangle' . fin de la méthode compute Le code source La méthode principale compute du script : compute | diag1 diag2 points mid1 mid2| self paintRed. self isQuad ifFalse: [ ^ 'Je ne suis même pas un quadrilatère !' ]. points := self arg1 points. diag1 := points first - points third. mid1 := points first + points third / 2. diag2 := points second - points fourth. mid2 := points second + points fourth / 2. (diag1 r = diag2 r and: [mid1 = mid2]) ifTrue: [ self paintBlue. ^ 'Je suis un rectangle :)' ] ifFalse: [ ^ 'Je ne suis PAS un rectangle :(' ]. Quelques explications : Les méthodes paintRed et isQuad sont invoquées sur self , cela signifie qu'elles sont implémentées dans la classe de ce script ou une classe parente, nous y reviendrons. Dans la terminologie Pharo, il est dit que le message #paintRed est envoyé à self . Le message #arg1 retourne le premier argument du script ( self arg1 ). Ici obligatoirement un polygone, à savoir une instance de la classe DrGPolygonItem 14 . Si notre script était défini avec deux arguments, le message #arg2 donne le deuxième objet choisi par l'utilisateur. DrGPolygonItem a une méthode points qui retourne une collection de ses sommets. Nous en extrayons les informations nécessaires à nos calculs. Les deux vecteurs des diagonales du quadrilatère sont calculés et placés dans les variables locales diag1 et diag2 . Ce sont des instances de la classe standard Point . Les milieux des diagonales sont calculés et également placées dans les variables locales mid1 et mid2 . Les longueurs des diagonales et les milieux sont comparés, selon le résultat des pharases différents sont retournées. Pour obtenir la longueur d'une diagonale, le rayon en coordonnées polaire est demandé avec le message #r . Explorer la classe Point pour lire le code source de cette méthode. Passons maintenant aux trois autres méthodes de ce script, à savoir paintRed , paintBlue et isQuad : paintRed self costume1 style color: Color red paintBlue self costume1 style color: Color blue Le message #costume1 demande le costume du premier argument du script, à savoir le costume du polygone. Dans Dr.Geo, le costume d'un objet permet à la fois l'accès au modèle mathématique et à sa représentation graphique ainsi que ses attributs associés de style 15 . Ces deux méthodes demandent donc le style du costume (message #style ) pour lui envoyer ensuite le message à mot clé #color: avec comme argument la couleur souhaitée. Les messages à mot clé sont une spécificité de Pharo : les arguments sont intercalés dans le nom du message. La dernière méthode annexe est triviale, elle demande au modèle (le polygone retourné par la méthode arg1 ) sa liste des sommets, puis la taille de cette liste. Le polygone est un quadrilatère si cette taille est de 4 : isQuad ^ self arg1 points size = 4 Après la saisie de chacune de ces méthodes, le code source doit être sauvé et compilé par le raccourci clavier Ctrl-s . Pour l'utilisation du script (...Script → Utiliser un script...) Dr.Geo attend que l'utilisateur clique sur un polygone, puis sur un emplacement de la figure. Selon le type d'objet en référence, diverses méthodes sont disponibles ; qui pour obtenir sa valeur, qui pour obtenir ses coordonnées, etc. Le répertoire des méthodes est disponible depuis la section Méthodes de référence des scripts See api-dgs . Footnotes (14) Pour découvrir le protocole de cette classe, écrire son nom dans un Workspace, le sélectionner à la souris puis presser les touches Ctrl-b , un navigateur de classes s'affiche alors sur cette classe, il permet de naviguer et d'étudier son code source. (15) Pour être précis, un script reçoit toujours par sa variable arguments les costumes des objets sur lesquels l'utilisateur a cliqué ; la méthode arg1 donne alors le modèle par un appel arguments first mathItem , tandis que la méthode costume1 se contente de faire arguments first . Next: Script avec deux paramètres , Previous: Script sans paramètre , Up: Script Pharo [ Index ] ...
http://www.gnu.org/savannah-checkouts/gnu/dr-geo/doc/fr/Script-avec-un-parametre.html - [detail] - [similar]
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 213331 documents and 1081073 words.