Previous Page Next Page

11.1 La modularité des programmes

Tout problème, quelque complexe qu'il soit, peut être décomposé en un ensemble de sous-problèmes, plus simples, distincts, et dont certains sont répétitifs et utilisés à différents endroits d'un programme avec des données différentes, tandis que d'autres ne sont exécutés que conditionnellement.

Un concept de la programmation structurée est justement la décomposition d'une tâche complexe en tâches plus simples.

La modularité des programmes ainsi obtenue assure

• une meilleure qualité de programmation,

• un code plus court et par suite une diminution du risque d'erreurs de syntaxe,

• une mise au point aisée et rapide des programmes,

• une facilité de maintenance accrue,

• une facilité d'intégration de modules à d'autres programmes,

• une centralisation de la résolution d'un problème autour d'un programme principal.

Il est immédiat que la qualité et l'élégance de la solution finale dépendra fondamentalement de la qualité de la décomposition choisie. Les modules créés sont appelés sous-programmes.

Cette technique de décomposition initiale d'un problème en plusieurs problèmes distincts, plus simples, permet surtout à l'utilisateur de concevoir et de construire ses propres bibliothèques de sous-programmes.

En Pascal on distingue les fonctions et les procédures. La différence fondamentale entre une procédure et une fonction est que cette dernière renvoie toujours un résultat au (sous-) programme appelant par l'intermédiaire de son identificateur tandis qu'une procédure peut ne pas retourner un résultat au (sous-) programme appelant. L'appel d'une fonction se fera donc dans le contexte d'une expression tandis que l'appel d'une procédure est considéré comme une instruction simple. En quelque sorte on peut dire qu'une fonction est une procédure particulière.

Avant de passer aux détails, nous allons considérer un exemple de modularisation.

TERMES TECHNIQUES

• fonction

• modularité des programmes

• procédure

• sous-programme

Previous Page Next Page


© Aflo Informatique , 2003-2004