Dans quel ordre peut-on assembler les blocs suivants pour obtenir la figure donnée ?

La spirale est composée de 10 segments dont les longueurs diminuent d'une même valeur par rapport au segment précédent. Chaque segment forme également un angle de 90° avec le précédent.
Pour tracer cette spirale, on doit répéter 10 fois la suite d'instructions :
- avancer de « longueur » ;
- tourner de 90° dans le sens inverse des aiguilles d'une montre ;
- diminuer « longueur » pour tracer le segment suivant.
Ces trois instructions doivent donc être placées dans la boucle « répéter 10 fois ».
La longueur du premier segment doit être initialisée avant la boucle pour pouvoir le tracer. Elle sera ensuite modifiée à l'intérieur de la boucle pour les segments suivants.
Pour visualiser le tracé sans que le lutin ne gêne, on relève le stylo et on déplace le lutin une fois le tracé terminé, soit après la boucle.
L'assemblage des blocs qui donne le tracé demandé est donc le suivant :

Dans quel ordre peut-on assembler les blocs suivants pour obtenir la figure donnée ?

Pour tracer le carré donné, on va répéter 4 fois la suite d'instructions :
- avancer de 50 pas ;
- tourner de 90° dans le sens inverse des aiguilles d'une montre.
Ces deux instructions doivent donc se trouver à l'intérieur de la boucle « répéter 4 fois ».
Pour visualiser le tracé sans que le lutin ne gêne, on relève le stylo et on déplace le lutin une fois le tracé terminé, soit après la boucle.
L'assemblage des blocs qui donne le tracé demandé est donc le suivant :

Dans quel ordre peut-on assembler les blocs suivants pour obtenir un programme qui vérifie si la valeur « petite valeur » est bien la plus petite entre deux valeurs entrées de l'utilisateur ?

On commence par demander à l'utilisateur deux valeurs et à les affecter à deux variables « petite valeur » et « grande valeur ».
On va utiliser un bloc conditionnel pour tester si la condition de l'énoncé est bien vérifiée. Ici, on veut vérifier que la valeur contenue dans la variable « petite valeur » est bien plus petite que la valeur « grande valeur » lorsque l'utilisateur entre ces données.
Attention ! Ce n'est pas parce qu'une variable s'appelle « grande valeur » qu'elle est nécessairement la plus grande ! L'utilisateur entre ce qu'il souhaite dans l'algorithme. L'algorithme ne comprend pas les mots « petit » ou « grand ».
Si la condition est vérifiée le lutin affiche « c'est bon ». Sinon, il dit que c'est perdu !
L'assemblage des blocs qui donne le tracé demandé est donc le suivant :

Dans quel ordre peut-on assembler les blocs suivants pour obtenir un programme qui calcule le carré de la différence entre deux entrées de l'utilisateur ?

Ici, on veut un programme qui calcule le carré de la différence entre deux valeurs entrées par l'utilisateur.
Au début du programme, on commence par demander à l'utilisateur deux valeurs. On les affecte à deux variables « premier nombre » et « second nombre ».
Ensuite, on effectue la différence entre ces deux valeurs. Pour garder et utiliser cette différence, on la met dans une variable « résultat ».
Enfin, on actualise cette variable « résultat » en multipliant la valeur par elle-même, et en injectant la nouvelle valeur obtenue dans la même variable « résultat ». On a donc modifié la valeur de la variable « résultat » : la nouvelle valeur est le carré de l'ancienne.
On affiche le résultat à la fin, pour donner la nouvelle valeur de la variable « résultat ».
L'assemblage des blocs qui donne le tracé demandé est donc le suivant :

Dans quel ordre peut-on assembler les blocs suivants pour obtenir la figure donnée ?

Pour tracer la figure donnée, le lutin doit effectuer deux types de segments. Il y a deux segments parallèles d'une certaine longueur, et deux autres segments parallèles et deux fois plus grands. Quand on finit le tracé d'un segment d'un certain type, on poursuit avec un segment de l'autre type.
On utilise donc une variable « compteur » qui vaut initialement 0.
On va répéter 4 fois la suite d'instructions :
- si la variable « compteur » vaut 0 ou 2, alors avancer de 100 pas et tourner de 45° dans le sens inverse des aiguilles d'une montre ;
- sinon (c'est-à-dire si la variable « compteur » vaut 1 ou 3) avancer de 50 pas et tourner de 135° dans le sens inverse des aiguilles d'une montre ;
- ajouter 1 à « compteur ».
Le « compteur » va donc prendre les valeurs 0, puis 1, puis 2, puis 3.
Il sert à faire en sorte que l'algorithme exécute chaque branche de l'instruction conditionnelle 2 fois, pour tracer une figure régulière.
Pour visualiser le tracé sans que le lutin ne gêne, on relève le stylo et on déplace le lutin une fois le tracé terminé, soit après la boucle.
L'assemblage des blocs qui donne le tracé demandé est donc le suivant :
