Mamagement
1- Définition d’un algorithme
Un algorithme est un ensemble de règles ayant les caractéristiques suivantes :
• Il doit être fini et doit se terminer après un nombre fini d’opérations.
• Il dot être défini et précis : chaque règle (instruction) doit être définie sans ambiguïté.
• S’il y a des données d’entrée, le domaine d’application doit être précisé (exemple : nombre entier, réel, etc.).
• Il doit posséder au moins un résultat (données de sortie).
• Il doit être effectif : toutes les opérations doivent pouvoir être effectuées exactement et dans un temps fini.
L'étape de spécification des algorithmes et des descriptions de données est essentielle car l'utilisation directe d'un langage de programmation présente des inconvénients liés à l'opérationnalité et à l'hétérogénéité.
Opérationnalité
Le fait qu'un langage de programmation soit opérationnel peut sembler un avantage grâce aux vérifications de la syntaxe voire de la sémantique, effectuées lors de la compilation, et aussi grâce à la possibilité d'exécution immédiate du programme pour essai.
Dans la pratique, la possibilité d'exécution immédiate du programme diminue la productivité du programmeur, lequel toujours tenté d'essayer, sans trop réfléchir, son programme construit un peu au hasard. Cette attitude se reproduit également en cas d'erreurs car il paraît toujours plus facile pour lui de faire une modification et de réessayer, plutôt que d'analyser la cause de l'erreur. Le programmeur met ainsi beaucoup de temps à construire son programme qui, d'erreur en erreur et de modification en modification, s'écarte généralement de la solution rationnelle et efficace issue d'une bonne analyse préalable du problème posé.
Hétérogénéité
Un langage de programmation est presque toujours orienté vers la résolution d'une famille particulière de problèmes (COBOL pour la gestion, FORTRAN pour le calcul scientifique, etc.) et dispose donc d'une