Flowgorithm

Un article de Wikipédia, l'encyclopédie libre.

Flowgorithm
Logo.
Image illustrative de l’article Flowgorithm

Date de première version 2014
Paradigme Impératif, Procédural, Structuré
Auteur Devin Cook
Dernière version 3.3.1 (17 août 2022)
Typage Fort, Statique
Influencé par Algorigramme
Écrit en C#
Système d'exploitation Windows
(portage prévu pour OS X et Linux)
Licence Freeware
Site web www.flowgorithm.org
Extensions de fichiers .fprg

Flowgorithm est un outil de création et modification graphiques de programmes informatiques sous forme d'algorigramme. Il permet ensuite aux programmeurs d'exécuter ces programmes tout en pouvant en suivre graphiquement le déroulement .

Cette approche vise à mettre en avant les algorithmes plutôt que la syntaxe d'un langage de programmation spécifique. L'algorigramme peut être traduit en différents langages de programmation.

Flowgorithm est un langage et un environnement de programmation conçu pour être uniquement un instrument d'apprentissage.

Origine du nom, licence et internationalisation[modifier | modifier le code]

Flowgorithm est un « mot-valise » constitué de « Flowchart » et « Algorithm »[1]. C'est un logiciel propriétaire distribué gratuitement (freeware)[2]. L'environnement et le langage sont traduits en chinois, tchèque, anglais, français, galicien, allemand, hongrois, italien, portugais, espagnol et japonais.

Le langage[modifier | modifier le code]

Flowgorithm propose la plupart des notions courantes que l'on retrouve dans les langages de programmation, aussi bien au niveau des instructions sous forme graphique que des expressions évaluables :

  • Types de données : les entiers, les réels, les chaînes et les booléens
  • Structure de données : tableau monodimension et monotype
  • Variables : déclaration et affectation d'une valeur obligatoires
  • Constantes : true, false et pi
  • Opérateurs : arithmétiques, logiques, concaténation et comparaisons
  • Structures de contrôle :
  • Flowgorithm : Age and Drink
    Commentaires : il est possible d'ajouter des blocs de commentaires à l'Algorigramme
  • Fonctions :
    • Peuvent être appelées :
      • lors de l'évaluation d'une expression
      • par une instruction spécifique d'appel (valeur de retour ignorée)
    • Passage des arguments par copie (aussi appelé par valeur)
    • Fonctions prédéfinies : mathématiques, chaînes de caractères, conversion de type, tirage aléatoire et taille d'un tableau
    • Une fonction Principale (Point d'entrée)
    • Fonctions définies
      • 0…n paramètre(s) typé(s)
      • 0…1 valeur de retour typée
  • Interface utilisateur :
    • Une fenêtre de dialogue permet :
      • la saisie de valeurs affectées à des variables
      • l'affichage du résultat de l'évaluation d'expression
      • sous forme d'un dialogue type SMS

Exemple d'algorigramme[modifier | modifier le code]

Voici un exemple qui reprend la chanson 99 Bottles of Beer. Le programme est constitué de la fonction principale Main et d'une fonction bottle (Integer number) qui retourne une chaîne avec ou sans "s" à bottle :

L'environnement de développement et d'exécution[modifier | modifier le code]

Flowgorithm comprend une fenêtre principale pour :

  • la construction de l'Algorigramme de la fonction principale ou et des autres fonctions définies
  • l'exécution du programme en mode débogage (pas à pas) ou en contrôlant la vitesse d'exécution du programme

L'utilisateur peut choisir un style de diagramme en sélectionnant un jeu de couleurs et un type de figures parmi l'ensemble de ceux proposés par le logiciel.

et des fenêtres annexes affichables à la demande :

  • Une fenêtre d'inspection des variables
  • Une fenêtre de dialogue utilisateur
  • Une fenêtre de code source généré :
    • Flowgorithm peut générer en temps réel le code source correspondant au programme dans de nombreux langages de programmation : C#, C++, Delphi/Pascal, Java, JavaScript, Lua, Perl, Python, QBasic, Ruby, Swift 2, Visual Basic. NET et Visual Basic for Applications (utilisé dans Microsoft Office)

Format de fichier .fprg[modifier | modifier le code]

Les programmes en Flowgorithm ne sont pas des programmes volumineux et complexes ; ils ne nécessitent pas l'utilisation d'un format compressé et/ou binaire. Les fichiers sont stockés dans un format XML simple[3] afin de faciliter le portage sur d'autres systèmes et de pouvoir être facilement utilisé par des outils tiers.

<?xml version="1.0"?>
<flowgorithm fileversion="1.7">
    <attributes>
        <attribute name="name" value="Age"/>
        <attribute name="authors" value="Devin Cook"/>
        <attribute name="about" value="A simple example of an If Statement">
        <attribute name="saved" value="1/7/2015 11:27:10 PM"/>
    </attributes>
    <function name="Main" type="None" variable="">
        <parameters/>
        <body>
            <declare name="age" type="Integer" array="False" size=""/>
            <output expression="&quot;Please enter your age&quot;"/>
            <input variable="age"/>
            <if expression="age &gt;= 21">
                <then>
                    <output expression="&quot;Kegger!&quot;"/>
                </then>
                <else>
                    <output expression="&quot;Milk!&quot;"/>
               </else>
            </if>
        </body>
    </function>
</flowgorithm>

Notes et références[modifier | modifier le code]

  1. (en) « Page About - http://www.flowgorithm.org ».
  2. (en) « Licence au format PDF - http://www.flowgorithm.org ».
  3. « Flowgorithm - Documentation - File Format », sur flowgorithm.org (consulté le )