per page, with , order by , clip by
Results of 0 - 1 of about 0 (0.000 sec.)
Bloc de code (Programmer avec Dr.Geo)
@digest: 0c84c378918ee699c043edde183c8f4c
@id: 373584
@mdate: 2024-01-04T15:47:56Z
@size: 13385
@type: text/html
content-type: text/html; charset=utf-8
description: Bloc de code (Programmer avec Dr.Geo)
distribution: global
generator: texi2any
keywords: Bloc de code (Programmer avec Dr.Geo)
resource-type: document
viewport: width=device-width,initial-scale=1
#keywords: farceur (88756), auhasard (80356), coordonnee (44226), diagonale (40729), ordonnee (24391), afficheraxes (21144), hasard (19013), abscisse (15934), negatifs (14551), dixieme (11665), receveur (11368), drgeofigure (11141), exercice (9479), attraper (9447), bloc (9350), coordonnees (9110), ordonnees (9051), abscisses (7820), affichergrille (7596), droitepassantpar (6488), exemple (5680), essayons (5655), produisons (5655), parametre (4197), suffit (4075), nouveau (3954), entier (3873), syntaxe (3181), devient (2472), identiques (2419), droite (2223), valeurs (2173)
Next: Structures de contrôle , Previous: Collection , Up: La syntaxe par l'exemple [ Contents ][ Index ] 2.7 Bloc de code Jusqu'à présent, nous produisons des figures qui sont toujours identiques lors de l'exécution de son code source. Nous pouvons toutefois introduire du hasard en demandant de tirer au hasard un nombre entier qui servira d'abscisse ou d'ordonnée. Pour ce faire il suffit d'envoyer le message unaire auHasard à un nombre entier. Pour obtenir un nombre entier au hasard entre 1 et 5, écrire 5 auHasard . DrGeoFigure nouveau afficherAxes point: 5 auHasard @ 5 auHasard Exemple 2.19: Point au hasard Là pour comprendre, il faut se souvenir de l'ordre d'envoi des messages. Le paramètre du message point: est 5 auHasard @ 5 auHasard . Les deux messages unaires auHasard sont envoyés avant le message @ , ce qui donne un couple d'abscisse et d'ordonnée tirées au hasard pour les coordonnées du point. Voici une variante de l'exemple précédent qui donne un résultat un peu différent : DrGeoFigure nouveau afficherAxes; point: (11 auHasard - 6) @ (11 auHasard - 6) Exemple 2.20: Point au hasard, les négatifs aussi ! Dans l' Exemple 2.20 , quelles sont les valeurs possibles pour les abscisses et les ordonnées ? Exercice 2.17: Intervalle de valeur Le point farceur Ce qui serait amusant c'est de créer une figure avec un point farceur qui se déplace au hasard lorsque nous essayons de l'attraper. Pour ce faire, les coordonnées du point doivent être tirées au hasard à chaque instant. Il suffit que le code 5 auHasard @ 5 auHasard calculant les coordonnées soit exécuté à chaque instant, pour cela nous le transformons en un objet bloc de code . Un bloc de code est un objet de type mini-programme qui s'exécute dans notre programme autant de fois que nous le souhaitons. Pour obtenir un bloc de code, il suffit de placer son code source entre crochets [ ] . Ainsi le paramètre du message à mot clé point: devient un bloc de code – bout de programme – qui sera exécuté à chaque fois que nous essayons d'attraper le point à la souris : DrGeoFigure nouveau afficherAxes; point: [5 auHasard @ 5 auHasard] Exemple 2.21: Point farceur Modifier l' Exemple 2.20 pour en faire un point farceur. Exercice 2.18: Point farceur, les négatifs aussi ! Dans l' Exemple 2.21 , le point farceur a des coordonnées qui sont toujours des nombres entiers. Nous aimerions avoir des valeurs décimales, par exemple au dixième près comme 2,4 ou 4,8. Pour y arriver, une astuce classique en informatique est de tirer au hasard un nombre entier plus grand de 1 à 50 – et non plus de 1 à 5 – et de diviser par 10. Le code devient alors 50 auHasard / 10 . DrGeoFigure nouveau afficherAxes; point: [(50 auHasard / 10) @ (50 auHasard / 10)] Exemple 2.22: Point farceur au dixième Modifier l' Exemple 2.22 pour que les coordonnées du point farceur soient des nombres décimaux négatifs comme {-4 ; -3,5 ; -3 ; -2,5... ; -1,5 ; -1}. Exercice 2.19: Point farceur négatif à 0,5 près Voici deux questions un peu difficiles sur le code de l' Exemple 2.22 : Pourquoi est-ce que des parenthèses ont été ajoutées au receveur et au paramètre du message @ ? Exercice 2.20: Pourquoi des parenthèses ? * Est-ce que les parenthèses sont nécessaires autour du receveur du message @ ? Pourquoi ? Exercice 2.21: Parenthèses, toutes nécessaires ? * Point farceur sur diagonale Une chose encore plus forte est de forcer notre point farceur à rester sur la diagonale des axes des abscisses et des ordonnées. C'est-à-dire sur la droite qui passe par l'origine (0;0) du repère et le point (1;1). Dans la Figure 2.4 , si nous observons bien le point M situé sur cette diagonale, son abscisse et son ordonnée sont les mêmes. Figure 2.4: Point sur diagonale Ajouter au crayon gris un autre point sur cette diagonale et mesurer le plus précisément ses abscisse et ordonnée. Quelle constatation faire ? Exercice 2.22: Un autre point sur diagonale Pour revenir à notre point farceur, pour le forcer à rester sur la diagonale il suffit que ses abscisse et ordonnée soient égales. Pour cela, nous utilisons une variable qui est locale au bloc de code et que nous déclarons au début du bloc avec le code | coordonnée | . Cette variable contient alors l'unique calcul d'une coordonnée tirée au hasard. DrGeoFigure nouveau afficherAxes; afficherGrille; point: [ | coordonnée | coordonnée := 50 auHasard / 10. coordonnée @ coordonnée ]; droitePassantPar: 0@0 et: 1@1 Exemple 2.23: Point farceur sur diagonale A remarquer comment le bloc de code s'est étoffé sur plusieurs lignes. C'est en fait souvent le cas. La dernière ligne du bloc – coordonnée @ coordonnée – est la valeur retournée et qui sert à fixer les coordonnées du point farceur. Pour plus de clarté, nous introduisons une variable figure pour lui envoyer des messages et éviter cette longue cascade de messages. Cela doit être la règle pour toute figure un temps soit peu complexe. | figure | figure := DrGeoFigure nouveau. figure afficherAxes; afficherGrille. figure point: [ | coordonnée | coordonnée := 50 auHasard / 10. coordonnée @ coordonnée]. figure droitePassantPar: 0@0 et: 1@1 Exemple 2.24: Point farceur sur diagonale avec variable Modifier l' Exemple 2.24 afin que l'ordonnée du point farceur soit le double de son abscisse. Que se passe-t-il ? Construire alors la ligne. Exercice 2.23: Point farceur, autre droite Et que se passe-t-il lorsque son ordonnée est le carré de son absicsse ? Exercice 2.24: Point farceur, autre droite ? Modifier le code d'un des programmes de point farceur pour nommer le point 'Je suis un farceur'. Exercice 2.25: Je suis un point farceur Next: Structures de contrôle , Previous: Collection , Up: La syntaxe par l'exemple [ Contents ][ Index ] ...
http://www.gnu.org/savannah-checkouts/gnu/dr-geo/doc/23.12/programming-fr/Bloc-de-code.html - [detail] - [similar]
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 213330 documents and 1081132 words.