• Aucun résultat trouvé

• L'itération

Dans ce langage, nous utilisons une rptition indice sans variable-compteur. Dans un premier temps, nous appliquons, cette répétition sur une seule instruction. Nous utilisons un papier auto-collant (de type Post-it®), plaqué sur l'instruction désirée, sur lequel est inscrit le nombre d'itérations de la carte. Nous obtenons donc des configurations du type :

X

3

, X

2

qui permettent de répéter la même action autant de fois qu'il est indiqué sur le papier auto-collant.

Le nombre de répétitions doit être faible. En effet, nos jeunes élèves ne connaissent pas les grands nombres. De plus, l'enfant-robot doit pouvoir mémoriser facilement le nombre d'exécutions déjà accomplies afin d'effectuer le nombre exact d'itérations. Une fois cette carte exécutée (le nombre de fois déterminé), elle passe, comme les autres, à l'arrière du paquet. Il est important de pouvoir étendre, dans un deuxième temps, cette rptition indice à un paquet de plusieurs cartes-instructions. Pour cela, on réunit toutes les cartes à répéter par un lastique. On utilise alors une nouvelle catégorie de cartes, constituée uniquement d'un nombre, qui est placée sur le dessus du « paquet » et indique combien de fois ce dernier doit être exécuté.

Le jeu de l'enfant-robot : une approche informatique

On emploiera la symbolisation suivante pour représenter les « paquets » :

3

Voici un exemple de programme comportant une répétition indicée :

X

X X

3

X X

Lorsque l'enfant-robot rencontre un tel programme, il exécute les premières instructions comme à l'habitude.

Lorsqu'il en arrive au paquet

3

, il doit mettre momentanément de côté (dans sa

poche) les cartes placées derrière le paquet

3

pour ne plus conserver en main que celui-ci.

Considérons désormais ce seul « paquet »

3

et supposons qu'il soit constitué des cartes :

3

X X

Ce qui signifie que la séquence :

X X

doit être exécutée 3 fois de suite.

Outre l'indication du nombre de répétitions, la carte

3

permet de délimiter la séquence à reproduire afin de pouvoir convenablement compter les cycles à effectuer. Le dpilement de ce paquet, étalé dans le temps, revient à lire la séquence :

3

X X

3

X X

3

X X

3

La première carte

3

(volontairement détachée du lot) est celle du dessus du paquet lié

par l'élastique. Elle est constituée d'une carte de couleur différente et d'un papier de

type Post-it® associé 3

. Elle précise à l'enfant-robot que la séquence de cartes sera à répéter 3 fois. On ne la compte pas et on la met à l'arrière du paquet dès qu'on ôte l'élastique en annonçant une phrase du type : « On va répéter ce paquet de cartes 3 fois de suite ».

La première rencontre de la carte

3

, lors du dépilement, marque la fin du premier cycle. On la met à l'arrière du paquet en disant « 1 fois ».

La deuxième rencontre de la carte

3

, lors de la suite du dépilement, marque la fin du deuxième cycle. On la met à l'arrière du paquet en disant « 2 fois ».

Le jeu de l'enfant-robot : une approche informatique

La troisième rencontre de la carte

3

, lors de la suite du dépilement, marque la fin du troisième cycle et par là même la fin de la répétition indicée. On la met à l'arrière du paquet en disant « 3 fois, c'est fini pour ce paquet ! ».

On peut alors récupérer le programme momentanément délaissé, glisser à l'arrière de celui-ci le paquet qu'on vient d'exécuter (de nouveau entouré par l'élastique) et reprendre le déroulement des instructions, à l'endroit où on l'avait laissé. Dans notre exemple, on termine avec les cartes :

X X

En résumé, pour notre exemple, voici ce que l'enfant-robot aura finalement, séquentiellement, vu… et entendu :

X

X X

3

« On va répéter ce paquet de cartes 3 fois de suite »

X X

3

« 1 fois » X X

3

« 2 fois » X X

3

X

L'annonce de la quantité d'itérations à effectuer ainsi que la verbalisation du nombre de répétitions accomplies jouent, en quelque sorte, un rôle de compteur interne.

• L'alternative

L'utilisation de la structure alternative implique l'examen d'une condition pouvant être vraie ou fausse. Nous nous intéresserons tout d'abord à cette composante de l'alternative. Nous introduirons donc un nouveau type de cartes que nous nommerons « cartes-questions ».

Cette nouvelle contrainte entraîne que l'enfant sache déterminer si certaines propositions, limitées et connues pour débuter, sont vraies ou fausses. On fera, à ce sujet, un sérieux travail de sensibilisation. Ces cartes, distinctes des autres par une couleur particulière, comporteront, en outre, un gros point d'interrogation. L'enfant devra répondre « oui » ou « non » à l'affirmation que lui propose la carte montrée en opinant du chef ou en « faisant non la tête ». Voici quelques exemples de cartes-questions :

Suis-je un garçon ? Suis-je une fille ? Est-ce que je porte

un chapeau?

Suis-je juste face au mur ? Suis-je juste dos au mur ?

Pour plus de souplesse, on créera une carte-question orale du type : . À la vue de cette carte, l'enfant devra « tendre l'oreille » afin d'écouter et de répondre à la question que le montreur de carte lui posera oralement.

Le jeu de l'enfant-robot : une approche informatique

L'utilisation du « sac », déjà évoqué, nous permettra d'introduire les cartes-questions suivantes :

Le sac est-il vide ? Y-a-t-il 2 balles dans le sac ?

Y-a-t-il plus de Y-a-t-il moins de 3

2 balles dans le sac ? balles dans le sac ?

Ces dernières cartes-questions présentent l'intérêt d'offrir des réponses pouvant évoluer facilement et simplement au cours d'un même programme grâce aux cartes-actions précédentes.

Nous pourrons également, par ce biais, introduire plus facilement des questions comportant une négation afin de varier notre approche des booléens :

Le sac est-il NON-vide ? Y-a-t-il autre chose que 2

balles dans le sac ?

Toujours dans le même souci, nous pourrions multiplier la couleur des balles afin de compliquer les questions :

Y-a-t-il 2 balles vertes et Y-a-t-il 1 balle rouge 1 rouge dans le sac ? et 1 bleue dans le sac ? On pourra donc introduire une structure du type « Si… Alors… » :

Avec :

-->

Cette manière de procéder permet une manipulation aisée des cartes : Si il y a effectivement 2 boules dans le sac alors

On ouvre le paquet et on le dépile entièrement. Sinon

On le met à l'arrière du paquet.

Cette façon d'opérer présente également l'avantage de rendre le « Sinon » facultatif. En effet, si une condition est remplie, on accomplit une tâche, dans le cas contraire, on ne fait rien de particulier. Exemple :

Le langage de programmation du jeu de l'enfant-robot offre donc la possibilité d'utiliser une structure « alternative », au « Sinon » facultatif, dans laquelle l'examen de la condition s'effectue deux fois (condition réalisée, condition non réalisée).

On aurait pu envisager de placer dans le programme une carte-structure qui aurait agi comme un aiguillage afin de se rapprocher d'une structure de type « Si… Alors… Sinon » : si la condition associée était vraie, alors on exécuterait le paquet A, sinon on exécuterait le paquet B. Dans tous les cas, on reprendrait, après, la suite du programme initial. Cette carte, indiquant l'embranchement de l'alternative aurait pu être :

Aiguillage

Le jeu de l'enfant-robot : une approche informatique

À la suite de ce couple de cartes, on trouverait 2 « paquets » de cartes entourés d'un lastique. L'un aurait, sur le dessus, une carte comportant uniquement la lettre « A » et l'autre la lettre « B » :

Paquet A Paquet B

On se conformerait aux consignes suivantes : Si la condition est remplie alors

Exécuter le paquet A (jusqu'à ce qu'on revienne sur la carte A) Sinon

Exécuter le paquet B (jusqu'à ce qu'on revienne sur la carte B) Exemple de programme comportant une telle alternative :

Avec :

-->

Nous pourrrions aussi présenter le programme de la manière suivante :

Avec :

A

-->

-->

Cette structure poserait de sérieux problèmes de manipulation des cartes, entre celles qu'on laisse de côté (pour certaines définitivement, pour d'autres temporairement), celle qu'on montre, celles qu'on reprend… Cette complication pratique n'est probablement pas le fait du hasard mais est révélatrice de la difficulté intrinsèque d'une structure de type « Si Condition Alors Action1 Sinon Action2 ». De plus, nous avons déjà justifié, dans la partie théorique, que nous préférons la structure « Si Condition Alors Action1 », « Si Non_Condition Alors Action2 » à la structure « Si Condition Alors Action1 Sinon Action2 ». C'est pourquoi nous adoptons cette première présentation, plus squentielle, de l'alternative (énoncée en tête de chapitre) et abandonnons ainsi la carte d'aiguillage.

Le jeu de l'enfant-robot : une approche informatique