La structuration d'un problème peut être réalisée à partir d'un arbre programmatique. Un arbre programmatique est un graphe qui est mieux adapté à la représentation des algorithmes que l'organigramme ou le structogramme parce qu'il en donne une vision spatio-temporelle. L'inconvénient du structogramme par exemple est qu'il est préférable que l'on connaît la structuration du problème avant de réaliser le structogramme.
Les graphes arborescents sont très utilisés dans la vie courante. L'arbre généalogique [all. Stammbaum] en est l'exemple le plus connu. L'arbre programmatique correspondant au programme Blocks se présente comme suit:
Figure 5.2 Arbre programmatique correspondant au programme Blocks
Conventionnellement la lecture de l'arbre se fait de la gauche vers la droite. La racine de l'arbre est Blocks. Chaque rond est identifié par un nom; ici, les noms du programme et des procédures. Dans cet exemple, nous rencontrons la structure répétitive qui est une des deux structures de base servant de support à la systématique de la programmation. Dans le cas d'une structure répétitive, le rond portera le mot réservé LOOP suivi d'une condition donnée en clair soit par un intervalle de variation, soit par une expression booléenne.
Dans une première phase, il est conseillé de ne pas trop entrer dans les détails lors de la structuration des ensembles de traitement. Ainsi l'arbre programmatique de la figure 5.2 peut être redressé de manière moins détaillée:
Figure 5.3 Arbre programmatique incomplet
L'arbre de la figure 5.3 décrit incomplètement le programme. Nous ne sommes pas sans savoir que les traitements T-1-1, T-1-2, T-1-3 et T-2-1 sont formés d'une seule instruction et que le traitement T-2-2 représente une boucle qui sera exécutée deux fois.
© Aflo Informatique , 2003-2004