La mise au point d'un programme informatique se fait en plusieurs étapes.
Il s'agit de fournir la solution à un problème, la première
étape consiste donc à analyser le problème, c'est-à-dire
en cerner les limites et le mettre en forme dans un langage descriptif, on parle
généralement d'analyse pour décrire le processus par lequel
le problème est formalisé. Le langage de description utilisé pour
écrire le résultat de l'analyse est appelé algorithme.
L'étape suivante consiste à traduire l'algorithme dans un langage de
programmation spécifique, il s'agit de la phase de programmation.
Le langage de programmation est l'intermédiaire entre l'humain et
la machine, il permet d'écrire dans un langage proche de la machine mais intelligible
par l'humain les opérations que l'ordinateur doit effectuer. Ainsi, étant
donné que le langage de programmation est destiné à l'ordinateur,
il doit donc respecter une syntaxe stricte. Un algorithme peut toutefois aboutir
à plusieurs programmes.
Le programme est ensuite transformé en langage machine lors d'une étape
appelée compilation. La compilation est une phase réalisée
par l'ordinateur lui-même grâce à un autre programme appelé compilateur.
La phase suivante s'appelle l'édition de liens, elle consiste à lier
le programme avec tous les éléments externes (généralement des librairies
auxquels il fait référence).
L'algorithme est un moyen pour le programmeur de présenter son approche du
problème à d'autres personnes. En effet, un algorithme est l'énoncé
dans un langage bien défini d'une suite d'opérations permettant
de répondre au problème. Un algorithme doit donc être :
- lisible: l'algorithme doit être compréhensible même par un non
informaticien
- de haut niveau: l'algorithme doit pouvoir être traduit en n'importe quel langage
de programmation, il ne doit donc pas faire appel à des notions techniques relatives
à un programme particulier ou bien à un système d'exploitation donné
- précis: chaque élément de l'algorithme ne doit pas porter à
confusion, il est donc important de lever toute ambiguité
- concis: un algorithme ne doit pas dépasser une page. Si c'est le cas, il faut
décomposer le problème en plusieurs sous-problèmes
- structuré: un algorithme doit être composé de différentes
parties facilement identifiables
|