Présentation 
1. Principe 
Lors de la présentation de la structure d’un algorithme, il a été brièvement abordé la possibilité d’ajouter une partie 
supplémentaire  en  début  de  programme,  avant  les  déclarations  des  variables.  Cette  partie  n’avait  pas  encore  été 
abordée,  alors  qu’à  ce  niveau  vous  savez,  si  vous  avez  bien  compris  les  chapitres  précédents,  déjà  très  bien 
programmer. Or peut­être avez­vous remarqué quelques limitations frustrantes, et notamment une certaine lourdeur 
lorsque  le  programme  est  très  long  et  qu’il  s’agit  de  répéter  certains  blocs  d’instructions  pourtant  déjà  présents 
ailleurs.  Par  exemple,  rappelez­vous  un  simple  petit  programme  qui  calcule  la  valeur  absolue  d’une  commande. 
L’embêtant est qu’à chaque fois que vous voulez calculer cette valeur, vous devez répéter la structure conditionnelle. 
N’aurait­il pas été plus simple de le faire une seule fois, et de passer à ce bloc d’instructions uniquement la valeur dont 
on veut récupérer la valeur absolue ? 
Vous  pourriez  pour  cela  envisager  un  second  programme  qui  serait  lancé  par  le  programme  principal  avec  comme 
paramètre cette valeur. C’est techniquement faisable, mais placer un second programme à part (un exécutable) juste 
pour  ce  genre  de  traitement,  c’est  une  perte  de  temps  et  d’espace.  L’autre  solution  consiste  à  rajouter  le  code 
nécessaire à ce programme dans une structure spéciale et à part du programme principal. C’est ce qu’on appelle un 
sous­programme.  Les  anciens  langages  BASIC  utilisaient  d’ailleurs  des  instructions  en  ce  sens  (gosub,  sub  xxx, 
endsub, etc, sub pour sous­programme). 
Lorsqu’un  programme  est  très  long,  il  n’est  pas  réaliste  de  tout  programmer  d’un  seul  tenant.  Le  programme  est 
décomposé en de plus petites unités ou parties réutilisables qui sont ensuite appelées le moment opportun par le 
programme principal. Un sous­programme évite la répétition inutile de code et permet de clarifier le programme. Une 
fois  tous  les  sous­programmes  réalisés,  il  est  même  possible  de  les  enregistrer  dans  des  bibliothèques  pour  les 
réutiliser  dans  d’autres  programmes,  quels  qu’ils  soient,  simplifiant  ainsi  fortement  l’écriture  du  code,  et  permettant 
aussi d’aller beaucoup plus vite. 
Un  programme  complet  forme  une  application.  Une  application  est,  si  vous  avez  correctement  suivi,  composée  de 
plusieurs parties fonctionnelles : 
q Le programme principal, ou bloc principal, qui correspond au bloc principal d’instructions situées sous le mot­clé 
PROGRAMME  et  DEBUT.  C’est  ce  programme  qui  est  exécuté  quand  vous  lancez  l’exécutable  qui  résulte  de 
l’implémentation de votre algorithme en Java, par exemple. En Java, le programme principal est ce qui est situé 
sous la ligne contenant le mot "main" qui signifie depuis l’anglais "principal". 
q Des sous­programmes, chargés de divers rôles, qui peuvent aller du calcul d’une valeur absolue à celui d’une 
puissance quelconque, une conversion de date, le formatage d’une chaîne de caractères, l’affichage  d’un entête  quelconque,  bref  tout  ce  que  vous  voudrez  bien  en  faire.  Suivant  les  langages,  vous  trouverez  les 
expressions sous­programmes, mais aussi et surtout les mots fonctions et procédures pour les décrire. C’est 
le  programme  principal  qui  se  charge  d’appeler  les  sous­programmes.  Ceux­ci  ne  se  lancent  jamais  d’euxmêmes. 
  Un sous­programme ne se lance jamais tout seul, il doit être appelé depuis le programme principal. Cependant, 
un  sous­programme  peut  parfaitement  faire  appel  à  un  autre  sous­programme.  Par  exemple,  un  sousprogramme chargé de calculer une racine carrée peut appeler le sous­programme chargé des valeurs absolues… 
2. Déclaration et définition 
a. Dans un algorithme 
Avant  de  pouvoir  utiliser  un  sous­programme,  il  faut  le  définir  ou  le  déclarer,  c’est­à­dire  indiquer  au  programme 
principal  qu’il  existe  :  son  nom,  et  son  contenu  (bloc  d’instructions).  En  algorithmique,  les  sous­programmes  sont 
déclarés  et  entièrement  écrits  au  tout  début,  avant  le  mot­clé  PROGRAMME.  C’est  généralement  le  cas  dans  les 
langages de programmation, car le programme principal ne peut  pas utiliser un sous­programme s’il ne sait pas s’il 
existe. 


...
PROGRAMME XYZ
VAR
- 1 -
© ENI Editions - All rigths reserved - Jonifar lina
124
Précédent

- 124/220

Suivant