Construire une pyramide de balles

A partir de 7 ans.

L’objectif de l’exercice est de dessin un motif, une pyramide dans ce cas, avec un programme. Il faut bien comprendre comme le motif se répète.

Mise en scène

L’objectif est de dessiner la pyramide suivante avec Scratch :

../_images/pyramide.png

Bien sûr, on ne veut pas le faire à la main. Comme on n’est pas magicien, on n’a pas le pouvoir de les faire apparaître tout en même temps mais une par une.

Q1 : Est-il plus facile de commencer par en haut (la pointe) ou par en bas (la base ?)

Q2 : Si on fait apparaître les balles une à une, comment les numéroter ?

Q3 : Après coup, on s’aperçoit que numéroter les billes comme ça n’est pas évident pour la suite. On préfèrerait les numéroter avec deux nombres qui indiquerait plus facilement leur position dans l’image ? Que proposez-vous ?

Quelques précisions sur Scratch

Pour faire appraître autant de balles qu’on veut comme par magie, il faut utiliser les clones :

../_images/clonesc.png

L’instruction de droite fait apparaître un clone, celle de gauche dit ce qu’il faut faire lorsqu’elle celui-ci apparaît. L’inconvénient majeur de ce système est qu’après plusieurs exécutions, l’écran contient une multitude de clones. Il faut donc les supprimer au début de chaque exécution. Pour ce faire, on envoie un message supprime_clone à tous les clones qui doivent disparaître lorsqu’ils le reçoivent.

../_images/clonemes.png

Ensuite, afin de ne pas trop hésiter au début du programme, il paraît difficile d’éviter l’utilisation des variables.

../_images/pyramide_debut.png

Parmi les six variables créées, deux ne changent jamais sx, sy, elles représentent la taille des balles.

Q4 : Mais pourquoi avoir créé deux variables i, j qui augmentent de 1 en 1 et deux autres x, y qui augmente de sx et sy ?

Exercice 1

Il ne reste plus qu’à terminer le programme avec Scratch. On pourra compléter le projet suivant : echiquier0.sb2.

Exercice 2

Et si maintenant, on essayait de faire ceci :

../_images/biodiversite_tri.png

Il faudra bien évidemment que la balle clonée change de costume. Petite astuce : parmi les opérations proposées par Scratch, n’y en aurait-il pas qui vous sont peut-être inconnues mais qui vous seraient très utiles dans ce cas précis ?

Solution

Voir Construire une pyramide de balles (solution).

A quoi ça sert ?

Cet exercice est assez semblable à celui proposé dans Parcours d’un échiquier. Il faut décrire de façon précise le parcours d’une pyramide. Ces façons de faire nous paraissent plutôt évidente. Pourtant, leur traduction en un programme informatique l’est un peu moins. A quoi pensait Descartes quand il a inventé le système cartésien ? Programmer, c’est un peu penser en cartésien et un peu moins en géométrique.