5. Le Jardin de Peter <<< Table des matières >>> 7. Le Jardin avec une condition


6. Le jardin avec répétitions

Imaginez que Peter veuille planter un jardin de 15 carrés de côté . Nous pourrions faire plus de copies des commandes du chapitre précédent , mais une telle méthode ne pourrait qu’inspirer la plus grande honte  à tout véritable programmeur …

Pour cette raison, nous allons apprendre à utiliser un cycle. Un cycle assure l’exécution répétée de commandes . Nous allons utiliser un cycle avec un nombre spécifié de répétitions . Il s’intitule command repeating with specified run number (répétition de commandes avec nombre spécifié d’exécutions), et vous le trouverez dans la fenêtre Basic Elements, Trash (Eléments de base, Corbeille), dans le groupe program control (contrôle du programme)  . Faites-le glisser au tout début du programme du chapitre précédent (devant (avant) toutes les autres commandes).

Lorsque vous déposez l’élément cycle, notez qu’il est accompagné de deux autres éléments . Ceux-ci font partie intégrante du cycle et ne peuvent être supprimés ni déplacés ailleurs . Le premier élément est intitulé for number of repetitions (pour le nombre de répétitions), et il précise combien de fois les commandes du cycle seront exécutées . Le deuxième élément est appelé  repeat commands (répéter les commandes) . C’est ici que vous placez les commandes du cycle que vous voulez répéter . Cet élément s’appelle cycle body (corps du cycle).

Au début , nous indiquons les commandes qui seront exécutées dans le cycle . Depuis le chapitre précédent, nous avons une commande « step » (« pas ») et une commande qui dépose une fleur devant Peter . Faites glisser ces deux commandes dans le corps du cycle , c‘est à dire dans l’élément repeat commands (répéter les commandes)  . Juste un rappel : la commande pour déposer une fleur devant Peter avait été créée à partir de deux éléments, l’élément item in front of Peter (item devant Peter)  et l’élément que nous y avons connecté, Fleur .

A présent nous indiquons le nombre de répétitions, en fonction duquel les commandes inclues dans le cycle seront exécutées . Pour cela nous avons besoin de l’élément numeric constant (constante numérique) du groupe calculations (calculs) . Faites glisser cet élément dans l’élément for number of repetitions (pour le nombre de répétitions). Si vous ouvrez l’élément « constante numérique » dans la fenêtre Basic Elements (Eléments de base), vous y trouverez des éléments pour les chiffres de 0  à 9  . Faites glisser les chiffres dans la constante numérique du programme afin de créer un nombre de répétitions . Le nombre que vous créez se lit de haut en bas . Comme nombre de répétitions, nous allons choisir un nombre inférieur d’une unité à la largeur du jardin . Nous allons donc fixer ce nombre à 14 — la constante va contenir le chiffre 1 et le chiffre 4 en dessous.

Il existe aussi une autre façon de spécifier des nombres . Si la constante numérique ne contient aucun chiffre, c’est le nombre figurant dans le texte descriptif de la constante numérique qui est alors utilisé . Il peut y avoir n’importe quel commentaire derrière (après) le chiffre . Dans notre exemple, nous pouvions juste taper comme description de l’élément « 14 — number of steps » (« 14 --- nombre de pas «) . Peu importe, mais la première méthode est plus explicite .

A présent, vous pouvez enlever du cycle tous les autres éléments et les mettre à la corbeille (la fenêtre supérieure droite), à l’exception d’une commande pour tourner à gauche et de la commande d’attente de pression sur une touche . Vous pouvez déplacer les éléments vers la corbeille à l’aide de votre souris , mais vous pouvez aussi , pour aller plus vite, utiliser votre clavier . Cliquez sur l’icône du premier élément que vous désirez effacer, puis appuyez sur la touche Delete (Suppr), jusqu’à ce que tous les éléments inutiles soient effacés . Attention de ne pas appuyer trop de fois sur la touche, autrement vous seriez obligé d’utiliser le bouton Undo (Annuler) .

Après modifications, le programme devrait ressembler à ceci :

Remarquer que grâce à la description des éléments le programme peut lire d’une façon tout à fait naturelle: "Pour le nombre de répétitions 14, répéter les commandes: déposer un item Fleur devant Peter, puis faire un pas."

Démarrez le programme . Peter va se diriger vers la bordure droite et, tout en avançant, il va déposer des fleurs . Lorsqu’il en a planté sur presque toute la bordure inférieure de la fenêtre, il se tourne vers le haut puis attend . Il a oublié d’en planter une au début de la ligne (à gauche) , mais sa prochaine tentative sera certainement meilleure .

Maintenant, nous pourrions copier trois fois le cycle, puisqu’il nous faut quatre côtés . Mais comme nous sommes de bons programmeurs nous allons de nouveau utiliser un cycle . En fait, « cycle» est une commande normale, et nous pouvons donc la nicher dans un autre cycle .

Depuis la fenêtre Basic Elements (Eléments de base), nous allons faire glisser un autre élément command repeating with specified run number (répétition de commandes avec nombre spécifié d’exécutions) , et l’insérer au tout début du programme . Comme nombre de répétitions, nous mettrons 4. Pour les constantes numériques à un chiffre, nous pouvons nous contenter d’utiliser les chiffres . Nous les trouverons dans l’élément « constante numérique » . Ceci signifie que nous ferons glisser l’élément chiffre 4  dans le paramètre de cycle for number of repetitions (pour le nombre de répétitions) .

Dans le corps du cycle repeat commands (répéter les commandes) , nous allons faire glisser le cycle qui sert à planter un côté du jardin (que nous avons créé précédemment), et, dessous, une commande pour tourner à gauche . La commande d’attente de pression sur une touche sera laissée tout à la fin du programme . Un bon programmeur ajoute aussi des commentaires à son travail , de façon à ce que , même après un certain temps, le fonctionnement du programme reste clair pour lui ; et pas seulement pour lui, mais aussi pour quiconque est susceptible de voir le programme .

Voici le résultat de notre travail acharné :

Démarrez le programme . Peter va parcourir son nouveau jardin en plantant des fleurs au cours de sa promenade, Cette fois-ci, il les plante toutes, et n’oublie rien . Vous aimez son jardin ?

Si vous augmentez le nombre de pas dans le cycle interne jusqu’à 44, par exemple, vous verrez Peter planter ses fleurs absolument partout dans le jardin et vous constaterez que cela ne le dérange même pas si, à la fin de son itinéraire, il se cogne toujours la tête au mur . S’il y a une opération qu’il ne peut réaliser, il ne la fait pas, tout simplement, et rien ne se produit .

Si vous voulez faire un peu plus d’expériences, essayer d’augmenter le nombre de répétitions du cycle principal (externe) . Peter va continuer à parcourir la bordure de la fenêtre . Si le nombre de répétitions est trop grand, vous n’aurez peut-être pas envie d’attendre jusqu’à la fin du programme . Si c’est le cas, quittez le programme en cliquant sur le bouton  (dans le coin supérieur droit de la fenêtre), ou en pressant Alt+F4.


5. Le Jardin de Peter <<< Table des matières >>> 7. Le Jardin avec une condition