Aperçu de la structure

Du problème à l’algorithme : séquences, décisions et boucles

Construire des instructions ordonnées, choisir avec SI/SINON et répéter avec RÉPÉTER ou TANT QUE. Comparaisons humain/machine et laboratoire du robot.

Section: Pensée informatique Mis à jour:
Articles /du-probleme-algorithme-sequences-decisions-boucles
Un petit robot en bois sur une grille avec un parcours, deux obstacles et des pièces portant des flèches
Une idée devient un parcours lorsque les instructions précisent quoi faire, quand choisir et quand répéter.

15 min

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.

Ouvrir le laboratoire Guide le robot

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 humaineSolution 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.
  1. Préparer la liste
  2. Vérifier les objets disponibles
  3. Mettre les objets de la liste dans le cartable
  4. Fermer le cartable
Séquence du début à la préparation de la liste, au rangement des objets, à la fermeture du cartable et à la fin
Séquence : les actions suivent l’ordre des flèches.

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 humaineSolution 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
Décision sur un âge validé : jusqu’à 12 ans prix de 3 euros, sinon 5 euros
Décision : une seule branche est exécutée.

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 humaineSolution 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 humaineSolution 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
Boucle vérifiant les objets restants, en rangeant un, le retirant de la liste puis vérifiant à nouveau
Boucle : le contrôle se répète après chaque modification 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.

  1. Choisir la mission et observer départ, orientation et objectif.
  2. Avant l’exécution, essayer de prévoir le parcours.
  3. Appuyer sur Un pas : le bloc courant est surligné et l’action ou le contrôle est décrit.
  4. Utiliser Démarrer pour l’animation, Pause pour l’arrêter et Retour pour revoir un état antérieur.
  5. Ajouter des instructions, changer leur type, les réordonner avec les flèches ou les supprimer avec ×. Les blocs conditionnels ont deux branches distinctes.
  6. 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.

TestRésultat à vérifier
Âges 12 et 13Prix respectifs de 3 € et 5 € : la frontière incluse est correctement traitée.
Liste videLa boucle TANT QUE n’exécute pas son corps.
Obstacle juste devantAvancer signale le blocage ; SI devant est libre choisit SINON.
Tourner à gaucheL’orientation change, la position reste identique.
Boucle sans changement utileChercher 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