Flowgorithm
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 .
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 | |
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
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
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
etpi
- Opérateurs : arithmétiques, logiques, concaténation et comparaisons
- Structures de contrôle :
- Alternative : Test si sinon
- Boucles : "Tant que" à précondition, "Tant que" à post-condition, Boucle for
- 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
- Peuvent être appelées :
- 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
- Une fenêtre de dialogue permet :
Exemple d'algorigramme
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
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
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=""Please enter your age""/>
<input variable="age"/>
<if expression="age >= 21">
<then>
<output expression=""Kegger!""/>
</then>
<else>
<output expression=""Milk!""/>
</else>
</if>
</body>
</function>
</flowgorithm>
Notes et références
- (en) « Page About - http://www.flowgorithm.org ».
- (en) « Licence au format PDF - http://www.flowgorithm.org ».
- « Flowgorithm - Documentation - File Format », sur flowgorithm.org (consulté le )