Lycée   >   Terminale   >   Sciences de l’ingénieur   >   Les algorigrammes- Terminale- Sciences de l’ingénieur

Les algorigrammes

  • Fiche de cours
  • Quiz
  • Profs en ligne
Objectifs
  • Comprendre le rôle et l’intérêt des algorigrammes.
  • Connaitre les symboles utilisés pour dessiner un algorigramme.
  • Savoir représenter les structures de contrôle algorithmique avec un algorigramme.
Points clés
  • Un algorigramme est un diagramme qui représente un algorithme.
  • Les algorigrammes suivent une norme qui permet l’utilisation des éléments suivants : des blocs terminaux (début et fin), des blocs de lecture/écriture (ou d’entrées/sorties), des blocs de traitement, des blocs de procédure, des blocs de décision (avec deux embranchements), des annotations, et des flèches.
  • Les structures de contrôle (structures conditionnelles et boucles) sont créées à partir d’un bloc de décision (losange).
Pour bien comprendre
  • Algorithmique
  • Pseudo-code
1. Les algorigrammes
a. Qu'est-ce qu'un algorigramme ?
Algorithme
Un algorithme est une suite d'opérations, qu'on nomme instructions, à effectuer pour atteindre un objectif (résoudre un problème, cuisiner un plat, faire se déplacer un robot, etc.). On dit que ces instructions doivent être exécutées.

En informatique, ou dans le cadre de la création de systèmes qui ont une composante numérique, on réalise des algorithmes afin de concevoir, ou de décrire, un programme informatique.

Algorigramme
Un algorigramme est un diagramme qui représente un algorithme.

Les différentes instructions et structures algorithmiques sont représentées par des symboles graphiques. L'algorigramme se lit généralement du haut vers le bas.

Exemples
Remarques
  • Les algorigrammes sont aussi appelés « organigrammes de programmation ». On trouve aussi le nom de « diagrammes de flux », ou flow charts en anglais.
  • Contrairement au pseudo-code, les algorigrammes utilisent des symboles bien précis, qui font partie d'une norme : la norme ISO 5807.
b. Les symboles d'un algorigramme

Les algorigrammes se réalisent avec un nombre limité de symboles.
Ces symboles permettent de représenter toutes les instructions et structures dont on a besoin pour écrire un algorithme.

On trouve les symboles suivants.

Blocs terminaux
Les blocs terminaux représentent le début et la fin de l'algorithme. Il doit y avoir un unique bloc de début, et un unique bloc de fin.
Blocs terminaux
Bloc de lecture/écriture
Le bloc de lecture/écriture, aussi appelé bloc d’entrée/sortie, permet de représenter toutes les instructions liées aux interactions entre le système et l'extérieur.
Bloc de lecture/écriture

On utilise ce bloc quand le système doit :

  • dialoguer avec un utilisateur humain ;
  • récupérer des informations qui viennent de capteurs ou piloter des actionneurs ;
  • communiquer sur un réseau de données.

Dans ce bloc, on écrit en pseudo-code, selon le type d'opération réalisé.

  • Pour lire une information fournie par l’utilisateur humain, on a Lire suivi du nom de la variable dans laquelle on mettra la valeur lue.
  • Pour donner une information à l’utilisateur humain, on a Écrire suivi de la valeur de la variable ou d'un mélange des deux, que le système doit écrire.

On peut aussi décrire une action sans pseudo-code, si cela permet d’être plus clair.

Bloc de traitement
Le bloc de traitement permet de représenter toutes les instructions qui servent à manipuler des données, et qui ne sont pas liées aux interactions avec l'extérieur.
Bloc de traitement

On utilise ce bloc quand le système doit :

  • affecter une valeur à une variable :
    • en lui donnant directement une valeur,
    • à partir d'une expression mathématique,
    • à l'aide d'une fonction ;
  • faire des actions diverses, comme un pause par exemple.

Dans ce bloc, on écrit l'instruction effectuée en pseudo-code. On peut aussi décrire une action sans pseudo-code, si cela permet d’être plus clair.

Bloc de procédure
Le bloc de procédure permet d'appeler une procédure.
Rappel
Une procédure est un sous-algorithme séparé de l’algorithme principal. Une procédure peut être utilisée depuis l’algorithme principal, on dit alors qu’elle est appelée.
Bloc de procédure

On écrit le nom de la procédure dans ce bloc, accompagné des éventuels arguments à lui passer. L’algorithme de la procédure peut ensuite être représenté, à part, par son propre algorigramme, ou avec du pseudo-code.

Bloc de condition
Le bloc de condition permet de représenter les tests logiques et les différentes alternatives possibles en créant un embranchement vrai/faux dans l'algorigramme.
Bloc de condition

On écrit la condition à tester dans ce bloc, en pseudo-code.

Remarques
  • La branche « faux » comporte un petit rond à son départ.
  • Les branches « vrai » et « faux » peuvent être permutées.
Annotation
L'annotation permet de donner des indications supplémentaires, quand c'est utile.
Annotation

Il n'y a pas de règles strictes sur l’utilisation de l’annotation, mais de manière générale elle est utilisée pour :

  • indiquer d'où vient l'information pour les instructions de lecture ;
  • indiquer où va l'information pour les instructions d'écriture ;
  • expliquer, (très) brièvement, ce que fait une procédure qu'on appelle.
Flèche
La flèche permet d'indiquer comment passer d'un bloc à l'autre.

Elle permet de connaitre le sens de lecture de l'algorigramme, qui peut parfois changer à cause des structures de contrôle.

Flèche
c. Intérêt de l'algorigramme

L'algorigramme est concurrencé par l'écriture des algorithmes en pseudo-code. Durant un projet, lorsque l'on doit concevoir un programme informatique, il faut souvent choisir l'une de ces deux méthodes.

Voici un tableau qui montre comment choisir, selon la situation.

Je choisis l’algorigramme si... Je choisis le pseudo-code si...
L'algorithme sera destiné à faire fonctionner un produit pluritechnique. L'algorithme fera partie d'un programme axé informatique (logiciel ordinateur, application mobile, site web).
L'algorithme a de grandes chances d'être assez court. L'algorithme a de grandes chances d'être assez long.
L'algorithme devra être présenté à l'oral, avec un support visuel type diaporama. On souhaite avoir un algorithme assez proche, dans sa structure, d'un programme écrit dans un langage informatique.
L'algorithme devra être expliqué à des non-spécialistes.  
Remarques
  • Il faut privilégier la méthode avec laquelle on est le plus à l'aise.
  • On peut parfois utiliser les deux méthodes en même temps. Par exemple, on peut faire un algorithme en pseudo-code pour avoir une algorithme proche des langages informatiques, puis un algorigramme pour présenter son programme aux autres membres du groupe.
  • Il est aussi intéressant de :
    • dessiner, d'une part, l'algorithme principal sous forme d'algorigramme, en essayant qu'il soit simple (grâce à des appels de procédures) ;
    • d'écrire en pseudo-code, d'autre part, les procédures qui seront appelées par l'algorithme principal, et qui contiendront la complexité du programme.
2. Les structures de contrôle

On va maintenant voir comment représenter les différentes structures de contrôle algorithmiques dans un algorigramme.

Les structures de contrôle se répartissent en deux catégories.

  • Les structures conditionnelles, qui permettent d’exécuter certaines instructions uniquement dans certaines situations.
  • Les boucles, qui permettent de répéter plusieurs fois une série d’instructions.
a. Structures conditionnelles avec alternatives

La norme ne propose qu’un seul symbole pour écrire des structures conditionnelles : le losange. En choisissant bien ce qu'on met sur chacune des branches de ce losange, on peut retrouver toutes les structures conditionnelles, avec ou sans alternatives, qu'on peut écrire en pseudo-code ou avec un langage de programmation.

Structure conditionnelle simple
Une structure conditionnelle simple propose d'exécuter une ou plusieurs instructions, uniquement si une condition est validée.
Exemple de structure conditionnelle simple
Instruction conditionnelle avec alternative
Une structure conditionnelle avec alternative, propose d'exécuter une ou plusieurs instructions, uniquement si une condition est validée.

Dans le cas contraire, une ou plusieurs autres instructions alternatives sont exécutées.
Exemple d'instruction conditionnelle
avec alternative
Instruction conditionnelle avec alternative conditionnelle
Une structure conditionnelle avec alternative conditionnelle, propose d'exécuter une ou plusieurs instructions, uniquement si une condition est validée.

Dans le cas contraire, une ou plusieurs instructions alternatives seront exécutées, si une autre condition est validée.
Exemple d'instruction conditionnelle
avec alternative conditionnelle

Il est aussi possible d'ajouter une alternative à cette structure.

Exemple d'instruction conditionnelle
avec alternative conditionnelle
Remarque
Il est possible d'imbriquer ce type de structure sur plusieurs niveaux.
b. Les boucles

La représentation des boucles se fait également grâce au losange. En adaptant la direction que prennent les flèches, et en ajoutant parfois des blocs de traitement, on retrouve les différentes boucles qu'on peut écrire en pseudo-code ou avec un langage de programmation.

Boucle avec condition de bouclage
Une boucle avec condition de bouclage propose de répéter une ou plusieurs instructions, tant qu'une condition est vraie.
Exemple de boucle
avec condition de bouclage
Variante de la boucle avec condition de bouclage
Une variante de la boucle avec condition de bouclage permet de s'assurer que les instructions contenues dans la boucle seront toujours exécutées au moins une fois.
Exemple de variante de la boucle
avec condition de bouclage
Remarque
Avec la version classique, dans le cas où la condition est fausse dès le départ, les instructions ne sont jamais exécutées.
Boucles à itérations définies
Une boucle à itérations définies propose de répéter une ou plusieurs instructions un certain nombre de fois, et ce nombre est connu à l'avance.

Cette boucle est plus complexe à dessiner avec un algorigramme, car elle nécessite l’ajout de quelques blocs pour créer une variable compteur, puis la mettre à zéro. Cette variable sera ensuite incrémentée (augmentée de 1) à chaque tour de boucle.

La condition de bouclage porte sur la valeur de cette variable.

Exemple de boucles
à itérations définies
Exemple
Voici l'algorigramme d'un thermostat. Ce thermostat gère la température d'une maison en démarrant ou en arrêtant la chaudière.
  • Dès que le thermostat est activé, il lit la température depuis un capteur.
  • Il allume ou coupe ensuite la chaudière grâce à une structure conditionnelle avec alternative.
  • Le thermostat fait ensuite une pause de 2 minutes.
  • Il récupère ensuite, depuis le réseau de la maison, le mode dans lequel il doit se trouver. Si le thermostat est en mode « auto », il recommence ses opérations grâce à une boucle à condition de bouclage (variante).
Algorigramme d'un thermostat

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Question 1/5

La médiane de 6 notes est 13. Cela signifie que :

Question 2/5

On a obtenu la série statistique suivante :

Combien vaut la médiane ?

Question 3/5

On a obtenu la série ci-dessous :

Quelle est la médiane de cette série ?

Question 4/5

On a relevé les tailles en cm des élèves d’une classe :

 

Parmi les propositions suivantes, laquelle est vraie ?

Question 5/5

Les notes en français de deux classes littéraires sont données dans le tableau suivant :

Quelle est la note médiane ?

Vous avez obtenu75%de bonnes réponses !

Recevez l'intégralité des bonnes réponses ainsi que les rappels de cours associés :

Votre adresse e-mail sera exclusivement utilisée pour vous envoyer notre newsletter. Vous pourrez vous désinscrire à tout moment, à travers le lien de désinscription présent dans chaque newsletter. Pour en savoir plus sur la gestion de vos données personnelles et pour exercer vos droits, vous pouvez consulter notre charte.

Une erreur s'est produite, veuillez ré-essayer

Consultez votre boite email, vous y trouverez vos résultats de quiz!

Découvrez le soutien scolaire en ligne avec myMaxicours

Le service propose une plateforme de contenus interactifs, ludiques et variés pour les élèves du CP à la Terminale. Nous proposons des univers adaptés aux tranches d'âge afin de favoriser la concentration, encourager et motiver quel que soit le niveau. Nous souhaitons que chacun se sente bien pour apprendre et progresser en toute sérénité ! 

Fiches de cours les plus recherchées

Sciences de l’ingénieur

L'intelligence artificielle

Sciences de l’ingénieur

Résoudre un problème de statique avec trois forces non parallèles

Sciences de l’ingénieur

Descente de charges : résoudre un problème

Sciences de l’ingénieur

L'algorithmique : structures conditionnelles, boucles et procédures

Sciences de l’ingénieur

Le principe fondamental de la statique

Sciences de l’ingénieur

Le principe fondamental de la dynamique

Sciences de l’ingénieur

La mécanique du point et les équations horaires

Sciences de l’ingénieur

Les systèmes asservis

Sciences de l’ingénieur

Descente de charges : les structures porteuses

Sciences de l’ingénieur

L'algorithmique : principes, bases et fonctions

Sciences de l’ingénieur

L'internet des objets

Sciences de l’ingénieur

Chaine de puissance d'un système et réversibilité

Sciences de l’ingénieur

Simuler une chaine de puissance avec un modèle multiphysique

Sciences de l’ingénieur

Le stockage d'énergie