Cette deuxième leçon poursuit le parcours commencé avec La pensée informatique : de l’intuition à la précision des algorithmes.
Dans le premier article, nous avons transformé des opérations intuitives sur les chiffres en procédures précises. Passons à l’étape suivante : apprendre à construire un algorithme. Nous ne partons pas d’un langage de programmation, mais de trois structures pour organiser les actions : séquence, décision et répétition.
Nous continuons à comparer solution humaine et solution machine. La première colonne décrit un raisonnement intuitif possible, la seconde une procédure explicite. Ces capacités ne sont pas exclusives : une personne peut suivre l’algorithme et un problème peut admettre plusieurs solutions correctes.
Avant les instructions : définir le problème
Un algorithme est une procédure composée d’instructions précises. Pour le concevoir, définissons l’entrée, c’est-à-dire les données disponibles, et la sortie, le résultat attendu. Il faut aussi expliciter les conditions initiales : connaître la position d’un robot ne suffit pas sans son orientation.
L’état regroupe les informations susceptibles de changer pendant l’exécution : position, direction, objets restant à ranger, compteur des répétitions. À chaque étape, demandons-nous quelles informations changent et lesquelles restent identiques.
Par exemple, calculer un tarif inventé pour un exercice exige plus que « les enfants paient moins ». Il faut fixer l’âge limite, préciser s’il est inclus, attribuer les prix et traiter les données non valides. Définir le problème fait déjà partie de sa résolution.
Séquence : l’ordre des actions
Problème. Préparer un cartable à partir d’une liste déjà disponible de livres et cahiers, puis le fermer.
| Solution humaine | Solution machine |
|---|---|
| Imaginons le cartable prêt et réunissons le nécessaire. L’expérience permet de corriger spontanément une action mal placée, par exemple rouvrir le cartable si un livre manque. | Préparer et vérifier d’abord la liste, insérer ensuite les objets indiqués et fermer seulement à la fin. L’ordre est explicite : fermer avant de ranger obligerait à rouvrir. |
- Préparer la liste
- Vérifier les objets disponibles
- Mettre les objets de la liste dans le cartable
- Fermer le cartable
Une séquence exécute une instruction après l’autre. Mais « mettre les objets » reste une action de haut niveau : si l’exécutant ne sait pas la réaliser, il faut la décomposer. Le détail nécessaire dépend des opérations qu’il comprend.
Dans le laboratoire, les actions élémentaires sont précises : Avancer d’une case, Tourner à gauche de 90°, Tourner à droite de 90°. Tourner ne change pas la case du robot, seulement sa direction. Après une rotation, Avancer peut donc mener dans une autre direction.
Décision : SI… SINON
Problème. Pour une visite imaginaire, les personnes jusqu’à 12 ans inclus paient 3 €, celles de plus de 12 ans paient 5 €. Pour un âge entier positif ou nul, déterminer le prix.
| Solution humaine | Solution machine |
|---|---|
| Reconnaissons si la personne bénéficie du tarif réduit et choisissons 3 € ou 5 €. À 12 ans, le tarif réduit s’applique encore. | Vérifier d’abord que l’âge est admis. Évaluer ensuite âge ≤ 12 : si c’est vrai, affecter 3 au prix ; sinon, affecter 5. Exécuter une seule branche, pas les deux. |
SI âge ≤ 12 :
prix = 3
SINON :
prix = 5
SI… SINON choisit entre deux chemins. La condition doit pouvoir être évaluée comme vraie ou fausse. « Est assez jeune » est ambigu ; âge ≤ 12 ne l’est pas dans le modèle annoncé.
La frontière compte : âge = 12 donne 3, âge = 13 donne 5. Un âge négatif ou non entier ne doit pas entrer dans ce schéma : c’est une erreur d’entrée. Le diagramme part donc d’un âge déjà validé. Il ne s’agit pas d’un véritable tarif.
Répétition comptée : RÉPÉTER
Problème. Préparer cinq boîtes en plaçant trois crayons dans chacune.
| Solution humaine | Solution machine |
|---|---|
| Reconnaissons cinq groupes identiques : il faut 5 × 3 = 15 crayons. Répétons la même opération pour chaque boîte. | Utiliser un compteur i initialisé à 1. Répéter cinq fois « mettre trois crayons dans la boîte i », en augmentant i d’une unité après chaque tour. |
i = 1
RÉPÉTER 5 FOIS :
Mettre 3 crayons dans la boîte i
i = i + 1
Le nombre de répétitions est ici connu au départ. Le corps de la boucle est le groupe d’instructions répété ; le compteur distingue les cinq tours. Les boîtes 1, 2, 3, 4 et 5 sont visitées. Après le dernier incrément, i vaut 6, mais aucun sixième tour n’est exécuté.
La boucle évite d’écrire cinq copies des instructions. Elle ne supprime pas le travail matériel : quinze crayons restent à placer. RÉPÉTER n fois dans le laboratoire suit la même règle et affiche le tour courant.
Répétition conditionnelle : TANT QUE
Problème. Mettre dans le cartable tous les objets d’une liste, sans savoir à l’avance combien il y en a.
| Solution humaine | Solution machine |
|---|---|
| Continuons à prendre ce qui manque jusqu’à ne plus voir d’objets à ranger. | Vérifier si la liste contient encore des objets. Si oui, mettre le premier dans le cartable, le retirer de la liste et vérifier à nouveau. Si la liste est vide, quitter la boucle. |
TANT QUE la liste n’est pas vide :
Mettre le premier objet dans le cartable
Retirer cet objet de la liste
La condition est vérifiée avant chaque tour. Si la liste est vide au départ, le corps ne s’exécute jamais. Avec trois objets, il en reste deux, puis un, puis zéro : cette diminution explique la terminaison, à condition que personne n’ajoute d’objets.
Oublier de retirer l’objet de la liste peut laisser la condition toujours vraie. Écrire TANT QUE ne garantit pas l’arrêt : il faut comprendre ce qui change dans le corps et pourquoi cela permet de sortir. Contrairement à RÉPÉTER, le nombre de tours n’est pas fixé au départ.
Laboratoire : guide le robot
Le laboratoire représente ces idées sur une grille 6 × 6. Le robot possède une position et une orientation ; certaines cases sont des obstacles et l’une contient l’objectif. Il faut terminer le programme sur l’objectif. Y passer puis s’en éloigner ne suffit pas.
Dans la première mission, l’exemple est une séquence : trois avancées, une rotation à gauche et deux autres avancées. Dans la deuxième, on utilise RÉPÉTER pour cinq avancées, puis quatre, avec une rotation entre les deux groupes. La troisième combine une boucle et une décision.
TANT QUE hors de l’objectif :
SI devant est libre :
Avancer d’une case
SINON :
Tourner à gauche de 90°
« Devant est libre » examine la case adjacente dans la direction actuelle ; le bord est aussi un empêchement. Cette condition ne recherche pas un parcours complet. La stratégie fonctionne sur la troisième grille proposée, pas nécessairement dans tous les labyrinthes. Modifier les obstacles peut créer un parcours impossible ou une répétition sans fin.
Le laboratoire s’arrête après une limite de sécurité de 400 étapes. Cela protège le navigateur, mais ne constitue pas une preuve mathématique de boucle infinie. Garantir la terminaison exige un raisonnement sur le programme et ses données.
- Choisir la mission et observer départ, orientation et objectif.
- Avant l’exécution, essayer de prévoir le parcours.
- Appuyer sur Un pas : le bloc courant est surligné et l’action ou le contrôle est décrit.
- Utiliser Démarrer pour l’animation, Pause pour l’arrêter et Retour pour revoir un état antérieur.
- Ajouter des instructions, changer leur type, les réordonner avec les flèches ou les supprimer avec ×. Les blocs conditionnels ont deux branches distinctes.
- Toucher une case libre pour ajouter un obstacle et vérifier si le programme fonctionne encore. Charger l’exemple et Rétablir les obstacles permettent de repartir.
Ouvrir le laboratoire Guide le robot
Vérifier et corriger un algorithme
Vérifier signifie comparer le résultat à la demande, pas seulement constater un mouvement. Une erreur peut se trouver dans l’énoncé, les données, l’ordre des instructions ou la condition. Rejouer pas à pas aide à trouver le premier état réel différent de l’état prévu.
| Test | Résultat à vérifier |
|---|---|
| Âges 12 et 13 | Prix respectifs de 3 € et 5 € : la frontière incluse est correctement traitée. |
| Liste vide | La boucle TANT QUE n’exécute pas son corps. |
| Obstacle juste devant | Avancer signale le blocage ; SI devant est libre choisit SINON. |
| Tourner à gauche | L’orientation change, la position reste identique. |
| Boucle sans changement utile | Chercher pourquoi la condition ne devient pas fausse ; ne pas se fier uniquement à la limite de sécurité. |
Moins de blocs ou moins d’actions ?
Un algorithme correct et un algorithme court sont deux choses différentes. Dans la deuxième mission, neuf avancées et une rotation peuvent s’écrire en dix instructions élémentaires. Avec deux blocs RÉPÉTER, leurs deux corps et la rotation, cinq blocs écrits suffisent, mais dix actions sont toujours exécutées.
Les étapes du laboratoire comprennent aussi les conditions et le contrôle des répétitions ; les actions comptent seulement les avancées et rotations. Ces nombres ne mesurent donc pas la même chose. Vérifions d’abord la correction, puis précisons ce que nous voulons réduire : longueur du programme, actions, mémoire ou temps.
Utiliser l’IA pour raisonner, pas seulement répondre
On peut demander à l’IA : « Propose les instructions pour cette grille, indique l’orientation initiale, explique chaque rotation et établis les conditions permettant de terminer ». La précision rend les hypothèses visibles, sans garantir une réponse correcte.
Un bon contrôle consiste à chercher un contre-exemple : que se passe-t-il avec un obstacle ajouté, un départ déjà sur l’objectif ou un corps de boucle vide ? Comparons l’explication à l’exécution et au sens des instructions. L’IA est un interlocuteur pour raisonner ; elle ne remplace pas la vérification.
Conclusion : prévoir, exécuter, expliquer
Séquence, décision et répétition construisent des procédures plus riches que des opérations isolées. Il ne s’agit pas d’apprendre trois mots, mais de décrire les données qui changent, le chemin choisi et la raison de l’arrêt.
L’habitude à développer est simple : prévoir le résultat, exécuter les étapes, expliquer ce qui s’est passé et corriger les écarts. C’est le lien entre intuition, algorithme et maîtrise éclairée de la technologie.
Ouvrir le laboratoire Guide le robot · Relire la première leçon