Avant d'écrire un programme, il faut décider ce qu'il doit faire, dans quel ordre et comment il doit réagir aux différentes situations. L'organigramme représente ce plan graphiquement à l'aide de symboles conventionnels et de flèches indiquant le parcours de l'exécution.

Le NIST définit un algorithme comme un processus mathématique clairement spécifié ou un ensemble de règles produisant un résultat prescrit. L'organigramme n'est pas l'algorithme lui-même : c'est une manière de le décrire, de le vérifier et de le communiquer avant de le traduire dans un langage.

Qu'est-ce qu'un organigramme ?

La définition associée à ISO 5807 présente le flowchart comme une représentation graphique de la définition, de l'analyse ou de la méthode de résolution d'un problème, où des symboles représentent les opérations, les données et les flux. ISO 5807 fournit des symboles et conventions pour les organigrammes de programme, de données et de système.

  • où le processus commence et se termine ;
  • quelles données entrent et quels résultats sortent ;
  • quels traitements sont effectués ;
  • quel chemin est choisi lorsque la condition est vraie ou fausse.
Infographie des symboles de base d'un organigramme avec un exemple de décision mer ou montagne Terminal, processus, entrée-sortie, décision, flèches et connecteurs constituent le vocabulaire visuel de base.

Les symboles fondamentaux

Ovale ou terminal : début et fin

Le terminal marque le début ou la fin. Dans Flowgorithm, le terminal initial de la fonction principale porte normalement le nom Main.

Rectangle : processus

somme = nombre1 + nombre2 compteur = compteur + 1 prix_final = prix * 1.22

Le rectangle contient un calcul, une affectation ou une transformation de données.

Parallélogramme : entrée et sortie

Lire âge Écrire "Vous êtes majeur"

Le texte doit préciser si les données entrent ou sortent.

Losange : décision

âge >= 18 ? réponse == "O" ? nombre % 2 == 0 ?

Une seule branche est parcourue selon le résultat logique.

Flèches et connecteurs

Les flèches indiquent l'ordre. Les connecteurs permettent de reprendre le flux ailleurs sans multiplier les croisements, mais leur usage excessif peut compliquer la lecture.

Lire l'exemple « mer ou montagne »

  1. le processus commence ;
  2. une question est affichée ;
  3. la réponse est lue ;
  4. le losange vérifie si elle vaut « O » ;
  5. la branche vraie propose la mer ;
  6. la branche fausse propose la montagne ;
  7. les branches se rejoignent et le processus se termine.

De l'organigramme au pseudocode

DÉBUT ÉCRIRE "La mer est-elle calme ? O/N" LIRE réponse SI réponse = "O" ALORS ÉCRIRE "Va à la mer !" SINON ÉCRIRE "La montagne est préférable !" FIN SI FIN

De l'organigramme à Python

La documentation officielle Python classe if, while et for parmi les constructions traditionnelles de contrôle :

reponse = input("La mer est-elle calme ? O/N : ").strip().upper() if reponse == "O": print("Va à la mer !") else: print("La montagne est préférable !")

L'entrée devient input(), la sortie print() et le losange if ... else. L'indentation délimite les branches.

Les trois structures fondamentales

Séquence

Les instructions s'exécutent dans l'ordre.

Sélection

Une condition choisit une branche.

Itération

Une flèche revient vers une condition et répète des blocs.

compteur = 1 TANT QUE compteur <= 5 ÉCRIRE compteur compteur = compteur + 1 FIN TANT QUE

Construire correctement une boucle

Il faut une initialisation, une condition, un corps et une mise à jour. Sans mise à jour, la boucle peut devenir infinie ; une condition incorrecte peut empêcher toute exécution ou ajouter une répétition.

Flowgorithm : des organigrammes exécutables

Flowgorithm est un langage graphique gratuit pour débutants. Il permet de déclarer des variables, affecter des valeurs, lire, écrire, décider, boucler et appeler des fonctions, puis d'exécuter le diagramme.

Le tutoriel officiel présente les terminaux de la fonction principale. La documentation des modèles énumère If, While, For, les entrées et les sorties. Le Source Code Viewer traduit le diagramme dans plusieurs langages et met en relation les formes et le code.

Les organigrammes sont-ils « dépassés » ?

Ils sont anciens mais restent utiles. ISO 5807 demeure une norme internationale publiée et confirmée, et les directives ISO actuelles y renvoient encore pour la préparation des flowcharts techniques.

Ils servent à enseigner, expliquer des procédures, analyser un problème, documenter des processus courts ou critiques et trouver des branches manquantes. Pour les logiciels gigantesques, la concurrence complexe ou des centaines d'exceptions, le pseudocode, UML, les tables de décision ou les machines à états peuvent être plus adaptés.

Bonnes pratiques

  • donner un titre clair ;
  • orienter le flux principal de haut en bas ;
  • écrire une action par bloc ;
  • formuler les décisions comme des questions vérifiables ;
  • étiqueter Vrai/Faux ou Oui/Non ;
  • éviter les croisements inutiles ;
  • tester tous les chemins ;
  • conserver des noms cohérents ;
  • mettre le diagramme à jour avec le programme.

Du problème à l'algorithme

  1. définir l'objectif ;
  2. lister les entrées ;
  3. définir les sorties ;
  4. identifier les décisions ;
  5. identifier les répétitions ;
  6. dessiner le flux ;
  7. le simuler à la main ;
  8. le traduire en code ;
  9. tester les résultats.

Erreurs fréquentes

  • Mettre une question dans un rectangle : elle appartient au losange.
  • Ne pas étiqueter les branches : vrai et faux deviennent ambigus.
  • Tracer des lignes sans flèche : l'ordre n'est pas clair.
  • Créer une boucle sans mise à jour : elle peut ne jamais terminer.
  • Confondre entrée et traitement : lire n'est pas calculer.
  • Mettre trop d'actions dans un bloc : le diagramme perd sa précision.
  • Laisser la documentation vieillir : elle ne correspond plus au code.

Questions fréquentes

Un organigramme est-il un programme ?

En général, il représente un algorithme. Dans Flowgorithm, il contient des instructions exécutables et devient un programme visuel.

Chaque décision doit-elle avoir deux sorties ?

Une décision booléenne possède normalement deux résultats, qui doivent être représentés.

Le parallélogramme sert-il à l'entrée et à la sortie ?

Oui. Le verbe inscrit précise la direction des données.

Peut-on traduire automatiquement vers Python ?

Flowgorithm propose un visualiseur de code pour plusieurs langages. Le résultat doit toujours être compris et testé.

Quand préférer le pseudocode ?

Pour les algorithmes longs, très imbriqués ou souvent modifiés.

Sources officielles et approfondissements