Algoriz, outil graphique de conception d'algorithmes
Sur une idée originale de Eric Tourbeaux, artiste peintre

Algoriz, éditeur d'algorithme rythmé par des boucles !

Algor est un éditeur original d'algorithmes originaux basé sur la boucle de traitement répétée ou pas.

Il se veut complet aux niveau des fonctionnalités : possibilité de définir un algorithme puis de la tester. Mais pas exhaustif : une variable non déclarée ne sera signalée que par une erreur d'exécution. Les saisies seront peu vérifiées : au concepteur de bien réfléchir et de porter attention : il s'agit de responsabiliser le développeur. Il se veut intuitif.

Objectifs - Réalisation - Lancement - Utilisation
Algoriz, outil original graphique de conception d'algorithmes

Objectifs

Réalisation

Langage Java

Diagramme de classe partiel
Diagrappe de classe partiel

Lancement de l'application

Pré-requis

Etape

Utilisation

Principes généraux

Trois actions d'interface sont disponibles : Les boutons de la barre d'outils sont accessibles d'un clic ou d'une combinaison de touches Alt+une lettre.

l'algorithme comme un sac de noeuds...

L'algorithme peut être représenté sous forme d'un arbre, avec un noeud racine (mère ou père) et des noeuds fils, qui peuvent être à leur tour noeuds mère ou père. L'algorithme sera représenté sous forme d'un sac de noeuds ! Le terme 'noeud' sera utilisé pour désigner un composant de l'algorithme :

Les données

Chaque donnée est identifiée par un nom et un type de données lui est asocié :

types

On y trouve les types suivants : Les données peuvent être soient élémentaires ou organisées en tableau ayant de 1 à 3 dimensions. L'accès aux tableaux utilise la notation C/C++/Java : tab1[i], tab[i][j], etc., le premier indice commence à 0 et s'arrête à (nombre d'éléments - 1)

accessibilité

Une donnée définie dans un noeud est accessible à l'intérieur du noeud et aux noeuds fils. Une variable définie dans le corps d'une boucle ne sera pas accessible au test d'entrée de boucle et devra être définie au niveau supérieur pour servir de variable de boucle. Par défaut, seul le noeud principal peut déclarer des données.

Les primitives ou noeuds

opérations élémentaires ou simples boucles unitaires non répétées, non conteneur

le AFFECTER une valeur à une variable
variable <-- valeur, où :
Expression de calcul numérique
Les opérateurs classiques : La constante numérique :
Expression de calcul logique
Les opérateurs relationnels (ou de comparaison) : chaque expression doit être encadrée par des parenthèses Les opérateurs logiques: chaque opérateur logique doit être entouré d'espaces Un soin devra être apporté la l'écriture des expressions logiques : un espace devra entourer les opérateurs logiques et,ou et non. Ainsi on écrira :
((tab[i]<0) et (j<15)) ou (x = 0)
le LIRE et stocker une valeur saisie à partir du clavier
LIRE variable1, variable2, ..., variable10 pour lire successivement de 1 à 10 valeurs qui seront affectées respectivement aux variables variable1, variable2, ..., variable10
le ECRIRE pour afficher une valeur à l'écran
AFFICHER valeur1, valeur2, ..., valeur10 pour afficher successivement de 1 à 10 valeurs, chacune pouvant être une valeur littérale, une variable accessible ou un expression calculée
le RETOURNER pour quitter l'exécution et renvoyer éventuellement une valeur (dans le cas d'une fonction)
RETOURNER valeur1
pour DESSINER, un certain nombre d'actions d'accès à la surface de dessin
(*)Attention : les expressions calculées pour dessiner ne doivent pas contenir d'espaces (l'espace est un séparateur de paramètres)

Structures de contrôles, noeuds conteneurs

itérations ou boucles répétées, conteneur

POUR
POUR variable DE debut A fin PAS DE pas où Le corps de la boucle est répétée si et tant que la variable de boucle est inférieure ou égale à fin.
TANTQUE / TQ
TQ (condition) où Le corps de la boucle est répétée si et tant que la condition de poursuite de la boucle est vraie.
REPETER ... TANTQUE / RTQ
RTQ (condition) où Le corps de la boucle est exécuté une fois, puis répété tant que la condition de poursuite de la boucle est vraie.

conditions ou couples de boucles alternatives non répétées, conteneur

le couple SI /SINON
SI (condition) (bloc si vrai) (bloc si faux) où