jeudi 19 janvier 2023

Chapitre cinq; amélioration du programme "quadrilatère"

 Comme je vous l'indiquais dans la page facebook dédiée, je vais vous donner ici en plus des images des trois programmations "blocs", les trois  résultats.

Ensuite vous pourrez continuer à manipuler, peut-être ferez vous des d'couvertes.


Le source "bloc", ainsi que le résultat "modification du nombre de cotés".

 

Voici le source du bloc

 Le but était de passer d'un seul quadrilatère régulier à une suite allant de 3 cotés à 9 cotés. Que fallait-il faire?

Une boucle, dans laquelle une variable "Nombcote" initialisée à "3" et jusqu'à ce que ce nombre soit égal à "10".

Une petite fonction calculant l'angle de rotation, puis on répète "Nombcote" un déplacement suivant un angle calculé en fonction du nombre de cotés.

Dit comme ça, on dirait que c'est difficile.

Ensuite on incrémente de "1" le nombre de cotés.

Ah, mais cela vous pouvez expérimenter : "oubliez de remettre la valeur du cercle à 360°"!

 

Voici donc le résultat, rien de surprenant.

 

Voici les résultats des Versions 2&3.

A vous donc en vous aidant de la page facebook dont je vous redonne l'adresse de reconstituer les sources blocs correspondants.

 

https://www.facebook.com/groups/322841393132104


c'est la version 2
Quelle différence essentielle d'avec la version 1. Regardez bien. Il semble que les cotés grossissent à chaque tour! Cela signifie que l'épaisseur de base du tracé, normalement à deux a été modifié. Comment?

On a créé une variable, épaisseur que l'on incrémente à chaque tour, comme le nombre de cotés.

Version 3, en couleur!   
Ici pour passer en couleurs, on a encore créé une variable replaçant l'ordre de base "couleur du crayon".

Ensuite on a créé dans la boucle deux petits tests pour changer la couleur du crayon si la condition est réalisée. Ici numéro du quadrilatère.

Vous remarquerez aussi, que lorsque l'on arrive à 5 cotés, comme prévu on prend la couleur rouge, mais quelle reste active jusqu'au test suivant.


Expérimentez, travaillez, trompez vous, faites chauffer votre cerveau. Soyez décideur, actif, vous êtes des humains pas des pilotes de robots. Il n'y a pas d'intelligence artificielle, il n'y a que la notre dans nos machines.

 

 

peire.martinez@gmail.com








vendredi 13 janvier 2023

Chapitre 4, création d'un quadrilatère régulier

 Après le brillant essai des : "Trois cercles", nous allons réaliser un petit travail qui consiste à créer un quadrilatère régulier. C'est à dire, un triangle équilatéral (trois cotés égaux), un carré (quatre cotés égaux), ainsi de suite.

Nous verrons que pour réaliser cela il nous suffira de modifier la valeur "Nombre de cotés".

Je vous donne ici les programmations "blocs et script" qui seront presque identiques, mais je vais vous donner l'explication et vous pourrez manipuler pour expérimenter ce dont je vous parle.

Ici nous avons la programmation "blocs"
 

Nous allons ici détailler la programmation "blocs". Vous constaterez que nous réalisons des actions "Pen UP", c'est à dire que le crayon étant levé nous ne dessinons rien.

Puis nous nous déplaçons vers le point X = 350; Y = 170 et rien ne se dessine. Essayer d'enlever cette ligne. Pour cela il faut pointer sur la "boite" et tirer vers la droite au maximum, elle va disparaitre! Vous verrez ce qui se passe lorsque vous exécuterez le programme (le système a été configuré avec une couleur par défaut!).

Puis on décide de dessiner, donc on abaisse le crayon "Pen Down" et on initialise la couleur à "bleue".

Ensuite on initialise la valeur du nombre de cotés, ici à huit. On initialise la valeur du cercle à 360°.

Maintenant on exécute un petit sous programme qui calcule l'angle de rotation. C'est à dire que les cotés du quadrilatère de "75 pas" tourneront selon un angle égal 360°/Nombre de cotés!

Quel intérêt d'avoir fait comme cela, alors que la fonction utilisateur en réalité ne contient qu'une ligne de code! Aucun, c'était pour vous montrer que l'on peut résoudre sous forme de fonction utilisateur une partie de la problématique du programme.

Puis le dessin du quadrilatère est finalement réalisé par une boucle "valeur du coté", qui fait tourner l'angle en fonction du résultat donné par la fonction utilisateur, déplaçant la tortue du nombre de pas initialement donné (ici 75 pas).

Vous pouvez pour manipuler et pour éviter de perdre des lignes dans la programmation "Blocs" utiliser plutôt (Gouffi) le Script!

Le Script est différent des "blocs", regardez bien

Donc pour manipuler utilisez le script, tant que vous ne sauvez pas vos essais vous ne faites pas de bêtises! Le mieux de de mettre en commentaires les lignes dont vous ne voulez pas l’exécution.

Pour ce faire c'est simple, il suffit de mettre deux tirets (--) devant la ligne. 

Expérimentez avec la couleur bleue : - - Pen.Color = Colors.Blue, normalement le quadrilatère affichera une autre couleur, celle par défaut!

Ensuite amusez vous à modifier la valeur de "Fois" et relancez le programme, vous verrez que vous pourrez obtenir nombre de quadrilatères, il n'y a pas d'Elisabeth supérieures!
.

Ici c'est le résultat, 8 cotés, encre bleue


 Pour finir cette petite présentation, je vous indique de nouveau les adresses Web de la page Facebook et celle du Blog sur lequel nous sommes.

https://www.facebook.com/groups/322841393132104

https://mapa-ayuda.blogspot.com 

 

peire.martinez@gmail.com


jeudi 22 décembre 2022

Les trois cercles

 Comme vous l'avez vu certainement sur la page facebook dédiée, je vous ai présenté un nouveau petit travail consistant en la création de trois cercles inclus les uns dans les autres.

Je vais vous redonner quelques uns des écrans constituant la programmation bar "blocs".

 

Au dessus c'est l'écran n° 1. A gauche les blocs de couleur sont les ordres que l'on passe au lutin, ici une tortue. A droite c'est le code "bloc". Vous remarquerez que les blocs ne sont que des rectangles vous proposant une action. 

Certain comme "lapiz hacia arriba" (crayon levé) sont impératifs et n'admettent pas de paramètres.

D'autres par contre, possèdent en leur milieu ou en fin du rectangle, un symbole (couleur par exemple), ou parfois valeur. En cliquant sur ces zones vous pourrez les modifier.

Au dessus c'est l'écran n° 6. A gauche les blocs de couleur sont les ordres que l'on passe au lutin. A droite c'est le code. Cela nous venons de le voir avec l'écran précédent. 

Dans cet écran nous voyons qu'il y a des ordres que nous pouvons "empiler" dans un autre ordre. Ici le "repetir 72 veces", contient une valeur d'angle de 5° et un déplacement de 3 px.

En réalité nous réalisons ici un quadrilatère de 72 cotés de 5 px. Comme l'angle est de 5°, répéter 72 fois l'opération nous donne comme résultat un CERCLE!

Manipulations.

Dans un premier temps vous pouvez vous amuser à modifier les valeurs du "repetir" et le "girar angulo" de telle sorte que le produit de l'un par l'autre donne toujours 360.

Exemple : 36 et 10, ce qui donne toujours 360, vous verrez le résultat!

Maintenant le script.

Ci-joint le script en Lua, correspondant à notre source "blocs".

 

Quelques remarques.

Les tirets devant "Turtle.Speak("On trce . . . ) représentent la mise de cet ordre en commentaire. En effet, si j'ai créé les "blocs" avec le logiciel "espagnol", j'ai sauvegardé le script avec "l'anglais". C'était voulu. En effet lorsque vous récupérerez le logiciel dans le "store" de Windows, il se peut que ce soit l'une ou l'autre des versions et elles ne sont pas tout à fait au même niveau!

Si vous regardez de près les blocs et le script, ici ils sont identiques.

La lecture de ce script Lua est particulièrement facilité par la propreté de son écriture.

Le résultat.

Il n'y aura aucune surprise, les trois cercles sont parfaitement dessinés. 

Et maintenant.

Il vous faudra commencer en travaillant sur cet exemple et sur celui du carré précédemment étudié. Vous pouvez aussi commencez par modifier les éléments variables de ce petit travail.

Puis ensuite, se souvenir que dans ce petit exemple je fais trois fois la même chose, dessiner un cercle. Ne serait-il pas plus judicieux :

  • de créer une "fonction" cercle et la gérer pour chacun d'entre eux
  • ou de gérer des boucles imbriquées

Remarques importantes.

Si vous modifiez un source bloc qui fonctionne, sauvez votre travail sous un nom différent de celui de départ.

Exemple.circo1_bloc. Si votre pgm fonctionne et si vous le modifiez encore, modifiez son nom sauvegardé en incrémentant (d'Alsace ou d'ailleurs), circo2_bloc.

Quand vous le transformez en script gardez la même organisation. circo1_script, ainsi de suite. Gardez en tête de conserver le même niveau entre le Pgm "bloc" et le Script.

Voila, donc amusez vous bien et passez de belles et douces fêtes de famille en cette fin d'année un peu angoissante pour beaucoup d'entre nous. 


Bon Nadal e bona annada per tots

 

Retenir :

Le même petit cours sur la page facebook dédiée : 

https://www.facebook.com/groups/322841393132104

 

 

Peire.martinez@gmail.com                                                   

mardi 20 décembre 2022

On continue sur le "carré"

 

Turtle ! Programmation en « briques » pour les enfants

chapitre troisième


Préambule.

Dans le chapitre 3 nous allons commencer un petit projet que nous améliorerons au fur et à mesure de nos idées et de nos envies. Aujourd’hui nous reprenons notre petit carré de départ, que nous agrémenterons de carrés latéraux.

 

Perspicaces, aussi vous avez vu qu’ici j’utilisais une version anglaise du logiciel et qu’il y avait une petite différence. En effet on voit apparaître « Action » qui permet au logiciel de parler ! On peut donc pendant son exécution donner des explications durant le déroulement du programme.

Ceci étant, que devons nous faire ?

D’abord nous lançons le logiciel en double cliquant sur la Tortue.

Ensuite nous allons dans la colonne de droite rechercher ce dont nous avons besoin pour construire notre premier carré.

Pen Up, nous positionnons le crayon « levé » pour pouvoir nous déplacer sans rien tracer.

Move X to 250 Y to 250, nous positionnons la Tortue à cette adresse sur la page

Pen Down, ayant atteint l’adresse initiale de notre travail, nous baissons notre crayon.

Set Pen Color to, ici une boite verte, c’est la couleur de notre carré de base.

Set pen size to (3 ), ce sera la taille de notre crayon et des autres si cette valeur n’est pas modifiée.

Ensuite vous verrez une boite « jaune » contenant des ordres « bleu », c’est la boucle qui créée le carré ! Elle indique : répète 4 fois (le déplacement de 150px et tourne à droite). Ensuite on répète deux fois presque la même chose au déplacement près.

Vous vous souvenez sans doute, au chapitre précédent je vous expliquais que l’on pouvait transformer ce travail en « boites » en un script, hélas non pas Python, mais Lua.

Dans notre étude les résultats sont presque identiques et on peut donc facilement « bricoler » le script pour affiner le résultat souhaité sans revenir au source « boites ». Mais du point de vue de l’informaticien d’entreprise, il fallait toujours revenir au source de base, puis le transformer avant de l’exécuter de nouveau. Ceci pour garder une cohésion de la chaîne logique.

 

Ci-dessous le script.

 



Mais où est donc le résultat? Eh bien c'est à vous de le réaliser.


Rappels. Le logiciel utilisé ici Turtle! se trouve dans le store de Windows, il vous suffit donc de le télécharger, ensuite il s'installe tout seul! Merveilleux.

Vous pouvez si vous le voulez mettre l'icône, une petite tortue verte dans la barre des tâches.

Vous cliquez ensuite sur l’icône et vous reproduisez ce qui est présenté ici, boite par boite. Comme je suis malicieux, la dernière boite n'est pas bien visible, il doit manquer un ordre. mais comme vous êtes malin, il vous suffira de comparer avec le script pour trouver la ligne manquante.

Ensuite vous sauvez votre travail sous un nom, puis vous le transformez en script en utilisant le même nom, mais prolongé de script pour bien différencier les deux choses.

Si vous vous trompiez, n'ayez crainte, l'ordinateur vous signifiera que le nom que vous voulez créer, existe déjà! Alors attention car c'est une des erreurs que font souvent les débutants . . . et les autres!


Bonnes fêtes de Noël à toutes et tous.


Peire.martinez@gmail.com


Vous pouvez suivre cette petite initiation à la fois sur une page Facebook et sur Blogger.


  1. Facebook : Https://www.facebook.com/groups/322841393132104

  2. Blogger : Https://mapa-ayuda.blogspot.com

jeudi 1 décembre 2022

Premier exercice : dessine moi un carré

 La première image, ci-dessous représente : Colonne de gauche l'outil, celle droite la programmation en "briques". Dans le fichier Turtle!cpt2 je vous expliquais succinctement comment positionner les briques.

Donc pour faire un carré de façon basique, on positionne la Tortue à une adresse X, Y et ensuite on déplace la Tortue, on tourne à gauche ou à droite, ici à droite et on répète l'opération 3 fois. Bien sur nous verrons dans un chapitre prochain que nous pouvons bien sur optimiser tout ceci.


Ici vous voyez le résultat après avoir "exécuté" le PGM en cliquant sur Reproducir.

Maintenant nous allons transformer ce joli puzzle en un petit script Lua, vous verrez pour celles et ceux qui connaissent Python, c'est assez ressemblant à ce niveau. 

Sauvegardes. dans un premier temps vous sauvegardez le programme "briques". Vous lui donnez un nom du genre Chpt2_Bq.

Vous le transformez en script Lua en cliquant sur la zone "script" en bas de la colonne de gauche. Vous verrez à l'écran un script comme celui que je vous montre dessous et qui correspond à un carré. Vous lui donnez pour nom quelque chose comme Chpt2_script pour être cohérent avec le nom du même programme sous forme de briques.


Voila le résultat qui est bien plus clair pour un programmeur.

La ligne 3 c'est le choix de la couleur pour le crayon.

Les lignes 4&5 positionnent la Tortue à l'adresse X = 200px, Y = 200px

Les lignes 6 à 12 déplacent la Tortue et tournent à droite

La ligne 13 répond à la ligne 2, début et fin du PGM principal

Maintenant à partir du script qu'il vous sera facile de modifier, vous pouvez expérimenter.

 

peire.martinez@gmail.com 


mercredi 30 novembre 2022

Version anglaise de Turtle!

 Rien de bien nouveau d'avec la version précédente, qui elle présentait les ordres en castillan. Une seule modification, un petit outil pour faire parler la bête!

Voici donc les écrans, que je vous commenterais dans un prochain post, écran par écran.

 dans l'écran "Motion", nous ferons bouger la Tortue en utilisant les boites "bleues".


Nous dessinons avec les boites "vertes"

Nous contrôlons la Tortue avec les boites "jaunes" 


     

         Nous traiterons des variables avec les boites "rouges"

 


Vous pouvez déjà, grâce à la partie droite, essayez de comprendre le fonctionnement du PGM. Nous reprendrons pas à pas tout cela avant de passer au premier petit programme qui consistera en la construction d'un carré.

Il sera d'abord mono color, puis multi color et enfin nous le transformeront en script Lua après l'avoir sauvegardé sous la forme de boites.

Résumé. Tout exercice sera sauvegardé deux fois, la première en boites, la seconde en mode script Lua.

Nous irons aussi lentement que possible.

Si de jeunes parents sont intéressés, me contacter sous : peire.martinez@gmail.com

Je vous rappelle aussi la page facebook associée :

Https://www.facebook.com/groups/322841393132104


Peire


 

mardi 29 novembre 2022

Chapitre un, présentation du logiciel

 Voici le lien vers facebook qui vous donnera des informations sur le logiciel lui même.


Https://www.facebook.com/groups/322841393132104


Dorénavant vous aurez ici des exemples commentés des petits programmes créés.


Peire

lundi 28 novembre 2022

Un Scratch sous Windows, gratuit : Turtle!

Nous avons étiudié au ours de l'an passé (2022) un petit logiciel que l'on trouve dans les distributions Linux et qui se nomme Kturtle. Comme son nom l'indique, dans ce logiciel on pilote une tortue que l'on peut déplacer sur un "canevas", c'est à dire une aire de travail dont on peut au départ, définir la taille (Hauteur, largeur).

 Vous l'avez vu, ce petit logiciel possède toutes las bases de la programmation moderne, on peut même faire un peu de mathématiques. Je voulais continuer vers un logiciel moderne, utilisé pour ses scripts : Python. 

Bien sur on commence par la tortue sous python. En effet tout ce qui a été vu avec Kturtle, existe sous le module Turtle de Python, avec bien sur la puissance de Python en plus. 

 Pourtant devant les difficultés rencontrées par beaucoup, j'ai décidé, la majorité des personnes ayant des machines sous OS Windows10, de vous faire découvrir en premier lieu, un petit programma qui se nomme Turtle! et qui est dans le store de Windows. il est de plus gratuit!

 Je vous montre tout d'abord comment allez le chercher, c'est tout simple, vous aller dans le module Windows STORE, là vous tapez Turtle! dans la fenêtre de recherche, ensuite vous téléchargez le module et l'installez comme toutes les applications Windows. 

Une image pour vous aider.

Au prochain numéro je détaillerais les menus, ainsi que les diverses différences entre les versions.

 Peire

lundi 28 février 2022

Automatisation du code, notions de variables et de fonctions

 

Chapitre N° 4, Titre : On commande la Tortue.

 Le Canvas et la Tortue, commandes d’exécution.

 

Nous allons étudier en détail les commandes que l’on peut donner à la Tortue sur le Canvas.

Avant ce faire, terminons rapidement notre découverte du Canvas. Oui on peut en modifier la taille avec l’ordre CANVASSIZE (X, Y).  

Comme on peut aussi lui donner une couleur de fond avec CANVASCOLOR (R,V, B) pour la couleur ; on se souvient d’un ordre similaire pour le crayon PENCOLOR (R, V, B).

 Nous verrons bientôt l’usage de l’outil (TOOLS COLORPICKER), qui permet d’ajuster la couleur désirée, puis de retourner sa valeur dans le source.

N.B. Toutes les commandes possèdent une abréviation, je vous les donnerais plus tard dans un tableau qui les récapitulera toutes, mais aujourd’hui pour une meilleure compréhension nous travaillerons avec les commandes « natives ».

Il faut donc donner des « ordres » à notre serviteur Tortue pour que celle-ci fasse la moindre action. Comme toujours en informatique la Tortue ne fera que ce que vous lui demanderez. Si le résultat vous surprend ou déçoit, vous avez du commettre une « mistake ».

La Tortue peut bouger, cela nous l’avons vu avec la création de notre petit carré de 75 pixels de coté.

  • forward nb, la Tortue avance du nb de px  

  • backward  nb, la Tortue recule de nb px 

  • turnleft nb, la Tortue tourne à gauche de nb degrés 

  • turnright nb, la Tortue à droite de nb degrés 

  • direction nb, la Tortue se déplace dans la direction active de nb dégrés 

  • getdirection, retourne l’angle actif que fait la Tortue par rapport à 0° 

  • center, la Tortue va au centre du Canvas 

  • go X, Y la Tortue se positionne dans son repère orthonormé 

  • gox, la Tortue ne se déplace que sur l’axe des X, de X px 

  • goy, la Tortue fait de même sur l’axe des ordonnées de Y px 

  • getx retourne la position de la Tortue  par rapport à l’axe des abscisses 

  • gety fait la même chose pour le haut du Canvas (ordonnée) 

  •  

  • N.b. Center et les ordres go, gox, goy, n’entraînent aucun traçage sur le Canvas. Ils agissent comme si l’attribut du pinceau était positionné à « UP » 

Exercice n°1.

Nous allons reprendre notre exemple de carré et essayer d’en construire un second au milieu du premier.

  • Pour ce faire il faudra se positionner (x, y) avec des valeurs supérieures à x0, y0, valeurs de l’abscisse et de l’ordonnée de départ.  

  • Il faudra en second faire des déplacements inférieur à 75 px et si on veut être symétrique des deux cotés il faudra donc réduire le nombre de px de 2 fois la distance entre x et x0, idem pour y et y0. 

Ce n’est peut-être pas clair. Il faut réfléchir et faire une bonne analyse du problème avant de se jeter sur l’écriture du code.

Je vous joins le code de départ actuel, éventuellement mettre à jour le votre (canvassize 300, 300 et cavascolor 220, 220, 220)

reset # remise à zéro du Canvas

canvassize 300, 300 # nouvelle taille du Canvas

canvascolor 220, 220, 220

go 100, 180  # On positionne la tortue sur le Canvas

penwidth 2   # Epaisseur du pinceau

pencolor 100, 200, 130 # couleur du pinceau

 spritehide

 forward 75    # On avance de 75 pixels

turnright 90  # On tourne à droite de 90°

pencolor 100, 200, 200 # couleur du pinceau

forward 75

turnright 90

pencolor 100, 20, 230 # couleur du pinceau

forward 75

turnright 90

pencolor 100, 100, 100 # couleur du pinceau

forward 75

turnright 90

 

Solution de l’Exo1.

En réalité à cet instant de nos travaux il suffit de dupliquer le carré du début, de modifier l’abscisse (x) par rapport à celle initialement posée, idem pour  (y) ; puis de modifier la longueur du déplacement en px.

Si on augmente x de 5px, il faudra modifier le déplacement (forward) de 2x5 = 10px. Soit poser la commande : forward 75px – 10 (65px).

Bon je vous laisse voir pour l’adresse de y, le déplacement restera forcément de 65px puisque nous traçons un carré.

Si vous avez un décalage, réfléchissez ; peut-être que le point (x=0, y=0) n’est pas à l’endroit que vous croyez.

Vous pouvez interroger la Tortue avec getx et gety pour savoir où elle se trouve à un instant, notamment à la fin du script.

Voici ma copie.

 

Amusez vous.

Le chapitre 5 consistera à utiliser le petit outil qui nous donnera les couleurs, que ce soit pour le fond que pour le pinceau.

Chapitre N° 5, Titre : On complexifie le travail de la Tortue.

Le Canvas et la Tortue, exemples simples.

Fin du Pgm Chapitre n° 4
 

Nous continuons avec notre petit PGM du chapitre 4. Là nous avons fait réapparaître la Tortue, évidement elle se trouve à la fin du 4eme coté du second carré !

 Exercice.

Maintenant nous allons continuer à mettre des carrés inscrits derrière celui qui a les cotés « Oronge », mais nous ferons en sorte que l’épaisseur du pinceau soit de 5px, c’est à dire qu’elle sera égale à l’augmentation de l’abscisse à la diminution de l’ordonnée.

Ensuite nous inscrirons un 4eme carré pour lequel nous modifierons sa « direction ».

Cela ne vous paraît pas très clair, faites sans trop vous occuper des termes, bonne découverte.

Amusez vous.

Voici mon exemple.

 

 

Reprenons nos esprits.

Le second carré vous vous en souvenez, celui de couleur Orange, nous lui avons donné une épaisseur identique au premier (2px).

Pour cela nous avons du recalculer la longueur du coté et dupliquer le carré n°1.

Pour le troisième rien de nouveau, si ce n’est que l’épaisseur du trait est passé à 5px. Donc nouveau petits calculs et duplication des lignes du carré après recalcul de l’abscisse et de l’ordonnée du départ.

Pour la quatrième et dernier, là une petite nouveauté. En effet le carré a une direction imposée (45°), la couleur aussi à changé,mais ça vous connaissez maintenant, attention la direction a changé et maintenant tous les ordres seront exécutés avec cette valeur de 45° !

Voilà je vous laisse quelques temps expérimenter.

Chapitre N° 6, Titre : Optimisation du travail du chapitre N°5.

Optimisation du code.

 

Résultat à la fin de l’exécution du Pgm Chapitre n° 5

Qu’appelle t-on « Optimisation ». et pourquoi ?

De tout temps les hommes ont essayé de créer des outils, puis des façons de les utiliser, pour être toujours plus efficaces, améliorant sans cesse à la fois l’outil et son utilisation, c’est pareil en informatique..

Optimiser du code informatique a pour but principal de rendre ce code « efficace », c’est à dire d’en avoir une bonne « lisibilité », ainsi qu’une logique plus rigoureuse. Le but étant de gagner du temps « machine » et de ne pas trop gaspiller de ressources.

Comme pour le reste, ici aussi apprendre aux enfants à être économes.

Le programme du KT- CHP5 est très perfectible. De quoi s’agit-il ?

De construire 4 rectangles inscrits (les uns dans le autres, dont le dernier a une « direction » de 45°).

Pour ce faire nous avons dupliqué les commandes de traçage de ligne, la rotation angulaire et procédé ainsi en pivotant 4 fois de revenir au point de départ. Ainsi nous avions un carré.

Peut-on optimiser ces commandes en une seule ?

Presque !  Nous allons ici découvrir ce que plus part dans les « grands outils de programmation » on nomme « fonction ».

Nous allons tout simplement indiquer à l’ordinateur sous Kturtle, ce que nous appelons : « carré ».

Ici nous ferons un « carré » simple, juste avec les commandes de base de création du carré. Une fois positionné à l’endroit voulu, nous exécuterons la fonction « carré », dont l’appel sera simple. Nous allons y aller tout doucement.

Petits rappels. On appelle « carré » un polygone régulier de 4 cotés, dont la longueur est unique (les 4 cotés étant égaux, les angles aussi de 90°, car on se souvient que la somme des angles d’un quadrilatère est de 360°).

Analyse du problème.

Cela signifie que pour dessiner le premier carré nous n’aurons besoin que de son adresse de départ sur le Canvas (x=px ; y=px), l’épaisseur du pinceau, sa couleur.

Pour le second, il nous faudra calculer son point de départ (modifs des x et y), l’épaisseur du pinceau et surtout calculer la nouvelle valeur du coté.

Pour le troisième c’est pareil, pensez à l’épaisseur du pinceau.

Pour le quatrième la difficulté vient du fait qu’il faut penser à modifier la direction.

Que faut-il faire ?

Dans cette exemple nous allons apprendre beaucoup de choses, aussi nous allons avancer pas à pas et nous modifierons le code au fur et à mesure de notre étude ; n’ayez pas peur, cela pourra  vous apparaître compliqué pour obtenir le même résultat.

Pourtant ce que vous apprendrez ici est fondamental.

Voici le résultat avec un début d’optimisation.

 

Reprenons nos esprits.

Nous avons un résultat presque identique à l’écran du début ; mais le premier carré n’a pas de couleur ! En regardant le code vous allez voir que nous avons créé « quatre » carrés (carr1, carr2, carr3, carr4), qui sont identiques !

Est-ce normal ? Non bien sur. Mais c’est pour que vous compreniez mieux, car dans notre petite fonction, nous aurions pu y mettre des éléments de chaque carré, par exemple, l’épaisseur du pinceau, la couleur du coté et même, mais nous verrons cela plus tard, du code spécifique (avec des tests pour épaisseur du pinceau, couleurs des cotés, calcul de la longueur du coté, …..).

Nous allons relancer le Pgm en utilisant qu’une fonction « carre ». Qui contiendra les éléments de base de la création d’un carré c’est à dire : tracer 4 fois le coté « repeat » en tournant ici à droite (turnright 90).

En trois lignes nous avons exprimé ce qu’était un carré.

Vous avez sans doute observé aussi de drôles de signes « vert » qui encadrent la fonction, ils sont très important et sont « ouvert ou fermé » deux à deux, ils délimitent les éléments ou blocs de la fonction.

learn carre $x {

repeat 4 {

forward $x    # On avance de nb pixels en fonction du carré à dessiner

turnright 90

          }

                      }

Dernière découverte de notre exemple, « la variable », ici $x qui représente la longueur du coté.

Voici le résultat de l’utilisation de la seule fonction « carre ».

 

On a créé une fonction CARRE que j’appelle 4 fois, mettant devant chaque fois les paramètres de longueur, couleur, épaisseur du pinceau, correspondants à chaque carré.

La « fonction » est constitué donc de son nom et ici d’une valeur qui change correspondant à la longueur du carré que nous traçons.

 On commence réellement a optimiser le programme.

Que faut-il retenir des chapitres 4 à 6 ?

  • On a vu apparaître la notion de « fonction » permettant de remplacer de nombreuses lignes de code 

  • On voit aussi apparaître une autre notion importante : la « variable », petit conteneur portant une valeur 

Dans les chapitres suivants, nous allons manipuler et aussi approfondir les notions de fonctions et de variables, qui sont la base de ce langage, avec lequel nous pourrons réaliser de petites choses intéressantes qui j’espère ouvriront chez les enfants et les plus grands,  la curiosité simple et informatique.

 

Bon travail !

 

Les chapitres se trouvent sous une page Facebook de groupe qui est :

facebook.com/groups/322841393132104 

 

 

 peire.martinez@gmail.com