Les structures algorithmiques
Programmation - 4ème
Les structures algorithmiques
Objectifs
- Identifier et comprendre les trois structures algorithmiques de base : la séquence, la sélection et la répétition.
- Être capable de représenter un algorithme simple en utilisant ces structures, notamment avec un organigramme.
- Appliquer ces structures pour décrire des tâches du quotidien ou de petits programmes.
Introduction
Imaginez que vous donniez des instructions à un robot pour préparer un sandwich. Si vous oubliez une étape ou si l'ordre est mauvais, le résultat sera catastrophique ! En programmation, c'est pareil : pour qu'un ordinateur exécute une tâche correctement, il faut lui donner des instructions claires et bien organisées. Aujourd'hui, nous allons découvrir les outils qui permettent de structurer ces instructions : les structures algorithmiques.
Comment organiser les instructions d'un programme pour qu'il soit efficace, lisible et qu'il résolve correctement un problème ?
La structure séquentielle : l'ordre des choses
La structure la plus simple est la **séquence**. C'est une suite d'instructions qui s'exécutent les unes après les autres, dans l'ordre où elles sont écrites. Il n'y a pas de choix, pas de retour en arrière, pas de boucle. C'est le principe de base de tout algorithme : une recette de cuisine, le mode d'emploi d'un meuble en kit, ou les étapes pour se connecter à un jeu en ligne suivent une séquence. En programmation, chaque instruction occupe une ligne et l'ordinateur les lit de haut en bas. Par exemple, l'algorithme pour allumer l'ordinateur en salle de technologie serait : 1. Appuyer sur le bouton d'alimentation de l'unité centrale. 2. Appuyer sur le bouton d'alimentation de l'écran. 3. Attendre le chargement du système. 4. Saisir son identifiant et son mot de passe. Si on inverse les étapes 1 et 2, l'écran affichera un message d'erreur car il ne recevra pas de signal de l'unité centrale. L'ordre est donc crucial. Dans un organigramme, une séquence est représentée par des rectangles (les actions) reliés par des flèches.
Points clés
- Les instructions s'exécutent dans l'ordre d'écriture, de haut en bas.
- C'est la structure de base, présente dans tout algorithme.
- L'ordre des instructions a un impact direct sur le résultat.
La structure de sélection : faire des choix (SI... ALORS... SINON...)
Parfois, l'exécution d'un programme doit changer en fonction d'une condition. C'est le rôle de la **sélection** (ou alternative). Cette structure permet de dire : "SI une condition est VRAIE, ALORS exécute ce bloc d'instructions, SINON (si elle est FAUSSE), exécute cet autre bloc". La condition est une expression qui peut être évaluée comme vraie ou fausse (par exemple : "la note est supérieure ou égale à 10", "le mot de passe saisi est correct", "le niveau de batterie est inférieur à 5%"). Prenons un exemple concret : le système de chauffage d'une maison connectée. L'algorithme pourrait être : SI (la température de la pièce < 19°C) ALORS (allumer le chauffage) SINON (éteindre le chauffage). L'ordinateur évalue la condition à un instant T et prend une décision. Dans un organigramme, cette structure est représentée par un losange (la condition) avec deux branches sortantes : une pour "Oui" (VRAI) et une pour "Non" (FAUX).
Points clés
- Permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse.
- La condition est évaluée une fois, puis un chemin est choisi.
- Le 'SINON' est parfois optionnel si aucune action n'est nécessaire quand la condition est fausse.
La structure de répétition : éviter la répétition (TANT QUE... ou POUR...)
Que faire si une action doit être répétée plusieurs fois ? Au lieu d'écrire la même instruction 10, 100 ou 1000 fois, on utilise une **boucle** (ou répétition). Il existe deux types principaux de boucles que nous allons découvrir. La boucle **TANT QUE** (while) répète un bloc d'instructions 'TANT QUE' une condition reste VRAIE. Dès que la condition devient FAUSSE, on sort de la boucle. Exemple : TANT QUE (il reste des assiettes sales dans l'évier) FAIRE (laver une assiette). On ne sait pas à l'avance combien d'assiettes il y a, on arrête quand la condition "il reste des assiettes" devient fausse. La boucle **POUR** (for) est utilisée quand on connaît à l'avance le nombre de répétitions. Exemple : POUR (i allant de 1 à 10) FAIRE (envoyer un message "Bonjour"). Ici, le message sera envoyé exactement 10 fois. Dans un organigramme, une boucle est représentée par un losange (pour la condition de continuation) et une flèche qui revient en arrière, créant un cycle.
Points clés
- Évite la répétition fastidieuse du même code.
- La boucle 'TANT QUE' répète tant qu'une condition est vraie (nombre de répétitions potentiellement inconnu).
- La boucle 'POUR' répète un nombre précis de fois, défini à l'avance.
Applications pratiques
Analysons un algorithme du quotidien : 'Traverser une rue sécurisée'. 1. Séquence : S'approcher du passage piéton, regarder le feu. 2. Sélection : SI le feu piéton est vert ALORS traverser SINON attendre. 3. Répétition (TANT QUE) : TANT QUE le feu est rouge, attendre (on répète l'action 'attendre'). En programmation, ces structures se combinent. Écrivons l'algorithme d'un jeu où l'utilisateur doit deviner un nombre secret entre 1 et 10. 1. Choisir un nombre secret (ex: 7). 2. Demander à l'utilisateur de proposer un nombre. 3. TANT QUE le nombre proposé est différent du secret, FAIRE : a. SI le nombre proposé > secret ALORS dire 'Trop grand' SINON dire 'Trop petit'. b. Redemander un nombre. 4. Féliciter l'utilisateur (séquence finale exécutée quand on sort de la boucle). On voit ici la combinaison d'une boucle (TANT QUE) contenant une sélection (SI...SINON) et des séquences.
Points clés
- Les structures s'imbriquent les unes dans les autres pour créer des algorithmes complexes.
- Analyser une tâche permet d'identifier les séquences, choix et répétitions nécessaires.
- Un organigramme est un excellent outil pour visualiser l'enchaînement de ces structures.
À retenir
Les trois structures algorithmiques de base – séquence, sélection, répétition – sont les briques fondamentales de tout programme. La séquence impose un ordre d'exécution, la sélection permet de prendre des décisions en fonction de conditions, et la répétition évite de dupliquer le code pour les tâches itératives. En les combinant, on peut décrire des processus complexes de manière claire et logique, que ce soit pour un robot ou un logiciel.
- Tout algorithme complexe est construit avec seulement trois structures : séquence, sélection, répétition.
- L'ordre des instructions (séquence) est fondamental pour obtenir le résultat attendu.
- Une boucle 'TANT QUE' peut ne jamais s'exécuter si la condition est fausse dès le départ, tandis qu'une boucle 'POUR' s'exécute un nombre prédéfini de fois.
