Malheureusement, il n'existe pas d'algorithme universel pour le développement d'algorithmes. La tâche qui consiste à rédiger des algorithmes n'est pas particulièrement simple. Il n'est pas rare que, malgré le soin apporté à la construction d'un algorithme, le programme correspondant, lorsqu'il est exécuté sur machine, ait un comportement tout à fait différent de celui que l'on avait espéré.
Les raisons de cet état de choses sont multiples. L'expérience montre qu'on doit distinguer six étapes lors de la progression du problème à l'algorithme:
1) La formulation du problème
2) L'abstraction du problème
3) L'analyse structurée du problème
4) Le développement de l'algorithme
5) La vérification de l'exactitude de l'algorithme
6) L'analyse mathématique de l'algorithme
Les étapes 4) et 5) ne sont pas traitées dans le cadre de ce cours:
la vérification de l'exactitude de l'algorithme nous donne la "garantie mathématique" que l'algorithme fournit effectivement les résultats que l'on attend et ceci quel que soit le champ de données avec lequel il est exécuté. De plus, la preuve que l'algorithme termine après un nombre fini de pas peut faire partie de cette vérification. On dit encore qu'un algorithme est exact s'il satisfait toutes ses spécifications;
l'analyse mathématique de l'algorithme cherche à saisir mathématiquement son efficacité (nombre de pas, temps mis pour l'exécution).
Représentons par un schéma les liens entre ces différentes étapes:
Figure 2.2 Les étapes de la mise au point d'un algorithme
Termes techniques
analyse
abstraction
développement
formulation
spécification
vérification de l'exactitude
© Aflo Informatique , 2003-2004