Logigrammes

Présentation

Un logigramme (flowchart) est une série de symboles standardisés reliés par des flèches, où chaque symbole représente une étape ou une décision dans un processus. Les flèches indiquent l'ordre de progression, de manière à guider la compréhension du flux logique. Dans le cadre de la programmation, il aide à visualiser la logique d'un programme sans utiliser de code, ce qui en fait un outil très utile pour planifier et clarifier le fonctionnement attendu avant de se lancer dans le développement proprement dit.

Pour illustrer ce concept, voici un exemple de logigramme détaillant les étapes du jeu du "nombre mystère". L'objectif de ce jeu est de découvrir, en un minimum d'essais, le nombre mystère sélectionné aléatoirement par le programme. Ce dernier fournit des indices en indiquant si le nombre mystère est plus grand ou plus petit que le nombre saisi par l'utilisateur.

Les symboles

Les logigrammes peuvent varier en complexité et comporter de nombreux symboles standardisés. Nous allons ici nous concentrer sur la description des symboles essentiels :

  • Début/fin: Indique le point de départ ou d'arrivée d'un processus. Il contient souvent les mots "début" ou "fin".
  • Processus: Représente une action ou un processus (série d'actions).
  • Décision: Pose une question qui demande une réponse, généralement oui/non. Selon la réponse, le logigramme se divise en plusieurs chemins.
  • Entrée/Sortie: Indique si le programme attend une saisie de l'utilisateur ou s'il doit lui afficher un message.
  • Flux: Relie les différents symboles entre eux, montrant ainsi l'ordre dans lequel les étapes doivent être suivies.

Notez qu'il n'existe pas de couleurs standardisées pour habiller les différents symboles. Les couleurs utilisées ici ont donc été choisies de manière arbitraire pour faciliter la lecture et permettre de distinguer les étapes. Leur choix peut varier selon les préférences ou conventions propres à chaque organisation.

Les fondamentaux de la programmation

Variables et structures conditionnelles

Le logigramme ci-dessous montre le fonctionnement d'une version simplifiée du jeu du "nombre mystère". Dans cette version, le programme sélectionne au hasard un nombre compris entre 1 et 20, puis invite l'utilisateur à faire une proposition. L'utilisateur ne dispose que d'une seule tentative, si le nombre proposé correspond au nombre mystère, il remporte la partie, sinon, il perd.


  1. La première étape consiste à initialiser la variable "nombreMystere" en y stockant un nombre aléatoire généré par le programme. Les variables sont des éléments fondamentaux en programmation, car elles permettent de stocker des informations que l'on pourra utiliser ultérieurement. Dans ce contexte, la variable "nombreMystere" contient le nombre à deviner, ce qui permettra de le comparer avec le nombre saisi par l'utilisateur pour vérifier si ce dernier a deviné correctement.
  2. La seconde étape invite l'utilisateur à deviner le nombre mystère en saisissant un nombre.
  3. La troisième étape consiste à comparer le nombre saisi par l'utilisateur avec le nombre mystère à l'aide d'une structure conditionnelle. Cette comparaison peut donner deux résultats : "vrai" ou "faux". Selon le résultat, le programme exécutera l'action appropriée :
    • Si le résultat est "vrai", le programme affiche : "Félicitations, vous avez trouvé le nombre mystère !"
    • Sinon, le programme affiche : "Vous avez perdu ! Le nombre mystère était [nombreMystere] !"

Structures itératives

Cette version du jeu ne s'interrompt que lorsque l'utilisateur a trouvé le nombre mystère. De plus, le programme indique au joueur si le nombre mystère est inférieur ou supérieur au nombre proposé.


  1. La première étape consiste à initialiser la variable "nombreMystere" en y stockant un nombre aléatoire généré par le programme. La structure illustrée par les flèches roses est une boucle, également appelée structure itérative. Une boucle repète une série d'étapes tant qu'une condition est remplie. Dans ce contexte, elle se répetera tant que le nombre mystère ne sera pas égal au nombre proposé par l'utilisateur.
  2. La seconde étape invite l'utilisateur à deviner le nombre mystère en saisissant un nombre.
  3. La troisième étape consiste à comparer le nombre saisi par l'utilisateur avec le nombre mystère :
    • Si le nombre mystère est égal au nombre proposé par l'utilisateur, le programme sort de la boucle.
    • Sinon, si le nombre mystère est inférieur au nombre proposé par l'utilisateur, le programme affiche : "Le nombre mystère est plus petit !". Le programme relance un nouveau tour de boucle (2ème étape) !
    • Sinon, le programme affiche : "Le nombre mystère est plus grand !". Le programme relance un nouveau tour de boucle (2ème étape) !
  4. Le programme affiche : "Félicitations, vous avez trouvé le nombre mystère !".

Exercices

  1. Exo-logigrammes-1 :
    • Concevoir un logigramme pour le jeu du pendu, destiné à être exécuté dans le terminal, c'est-à-dire sans interface graphique, uniquement en mode texte.
      • Si vous ne connaissez pas le jeu du pendu, vous pouvez cliquer sur ce lien pour vous familiariser avec ce dernier (attention, contrairement à ce qui est demandé pour l'exercice, cette version dispose d'une interface graphique) : https://ifosup.cvmdev.be/applications/jeu-du-pendu/
      • Pour vous aider à concevoir le logigramme, vous pouvez vous aider de cet exemple d'interface textuelle :