Actuellement, les ordinateurs sont conçus pour éliminer toutes interventions humaines pendant l'exécution d'un travail, quelle qu'en soient la complexité et la durée. Or, l'ordinateur étant nullement doté d'intelligence, chaque action de la machine, aussi minime soit-elle, doit avoir été prévue par l'homme et inscrite dans une marche à suivre, c'est-à-dire, dans un algorithme. L'algorithme à son tour est traduit dans un nombre fini d'opérations élémentaires codées dans un langage de programmation que la machine est capable d'interpréter et d'exécuter. Ces opérations sont appelées instructions [angl. instructions; all. Befehle]. Ainsi l'algorithme devient un programme.
En résumé:
Un programme est un ensemble ordonné d'instructions codées dans un langage de programmation donné et décrivant les étapes menant à la solution d'un problème, c'est-à-dire l'algorithme. Introduit dans l'ordinateur, il est exécuté et fournit, à partir des données, la solution du problème posé.
Lors de la conversion d'un tel algorithme schématique en un programme exécutable par un ordinateur, on doit passer par plusieurs phases de formalisation et d'analyse jusqu'à obtenir un programme dont les étapes sont toutes exprimables formellement dans la grammaire d'un langage de programmation. Une telle approche est connue sous le nom d'affinement progressif comme nous l'avons vu au chapitre 2.
Très souvent, les premières versions d'un algorithme sont rédigées sous forme d'idées directrices exprimées par exemple en langue française, puis affinées dans un pseudo-langage qui regroupe d'une façon assez libre les structures d'un langage de programmation évolué sous leur forme francisée. Finalement, pour être exécuté, le programme en pseudo-langage doit être traduit par exemple en un programme Turbo-Pascal conventionnel.
Dans ce travail, il faut faire le choix d'un langage de programmation. Ce choix sera guidé par les relations que l'on observera entre les moyens offerts par le langage et les fonctions qu'il est nécessaire de réaliser pour résoudre son problème.
Termes techniques
affinement progressif
algorithme
instruction
phases de formalisation et d'analyse
programme
© Aflo Informatique , 2003-2004