5. Le Jardin de Peter <<< Table des matières >>> 7. Le Jardin avec une condition
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