Leçons de niveau 14

COBOL/Structure du programme

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche
Début de la boite de navigation du chapitre
Structure du programme
Icône de la faculté
Chapitre no 2
Leçon : COBOL
Chap. préc. :Introduction au COBOL
Chap. suiv. :Variables
fin de la boite de navigation du chapitre
Icon falscher Titel.svg
En raison de limitations techniques, la typographie souhaitable du titre, « COBOL : Structure du programme
COBOL/Structure du programme
 », n'a pu être restituée correctement ci-dessus.

Introduction[modifier | modifier le wikicode]

Ce chapitre vous présente la structure de tous les programmes COBOL que vous rencontrerez.

Structure d’une ligne[modifier | modifier le wikicode]

Une ligne a un format fixe de 80 colonnes de long :

  • Les colonnes 1 à 6, peu utilisées, peuvent contenir une numérotation COBOL (numéro de ligne) ou des annotations permettant de commenter le code (date de modification, référence de l'évolution, trigramme du développeur, initiales du développeur, etc.).
  • La colonne 7 est réservée aux caractères particuliers suivants :
    • * : ce qui suit doit être considéré comme un commentaire.
    • d : indique que la phrase COBOL de cette ligne n'est à exécuter qu'en DEBBUGING-MODE.
    • / : caractère reconnaissable par l'imprimante et commandant un saut de page dans le listing issu de la compilation.
    • - : caractère de continuation d’un libellé (uniquement en WORKING-STORAGE SECTION).
    • un espace : dans tous les autres cas.
  • Les colonnes 8 à 11 incluses sont réservés pour commencer les noms de divisions, de sections et de paragraphes ainsi que certaines descriptions de données.
  • Les colonnes 12 à 72 contiennent tous les autres verbes COBOL.
  • Les colonnes 73 à 80 ne sont pas interprétées par le compilateur.
     7    12                                                          72
-----|----|-----------------------------------------------------------|---

Structure du programme[modifier | modifier le wikicode]

Un programme est constitué de divisions (4 au total), elles-mêmes constituées de sections. Elles permettent de structurer le programme, par exemple de séparer la définition des variables du reste du code.

Les 4 divisions qui composent un programme sont les suivantes :

  • IDENTIFICATION DIVISION, obligatoire, stocke les caractéristiques du programme (son nom par exemple). Elle doit obligatoirement contenir la clause PROGRAM-ID suivie du nom que vous donnez à votre programme, ce nom servira à le référencer : d'autres programmes pourront l’utiliser ;
  • ENVIRONMENT DIVISION, facultative, définit l'environnement dans lequel s'exécute le programme ;
  • DATA DIVISION, facultative, sert à définir les variables utilisées par le programme ;
  • PROCEDURE DIVISION, facultative, contient les instructions du programme. Ces instructions sont regroupées en paragraphes, un paragraphe est formé d’un nom de paragraphe suivi d’un point, et d’une suite d'instructions, assimilées a des phrases, chaque phrase doit se terminer par un point.

L'identifiant du programme, les noms de paragraphes et de variables sont une suite de caractères alphanumériques, pouvant contenir des tirets (pas d'espaces ou autres caractères spéciaux).

La fin d’un programme est signalée par la phrase END PROGRAM suivie du nom que vous avez donné à votre programme. Pour mettre fin à l'exécution du programme, vous avez à votre disposition l'instruction STOP RUN, celle-ci doit être la dernière instruction d’une phrase, elle provoque la fermeture de tous les fichiers.

Les différentes sections d’un programme seront détaillées dans les chapitres suivants.

Code minimal[modifier | modifier le wikicode]

Début de l'exemple
Fin de l'exemple


Ce programme, appelé premier-programme, ne contient qu'un paragraphe : paragraphe-principal ne contenant lui-même que l'instruction STOP RUN.

Hello World ![modifier | modifier le wikicode]

Traditionnellement, quand on vous apprend un langage, on vous fournit un "Hello World !", c’est un programme qui se contente d'afficher cette chaîne de caractères sur la console.

Pour afficher des données sur la sortie standard (la console), vous aurez besoin de l'instruction DISPLAY, elle s'utilise comme suit :

Début de l'exemple
Fin de l'exemple


Conformément à tout un tas de conventions d'écriture, ce qui figure entre crochets est optionnel, nous pouvons donc l’utiliser de 2 manières différentes :

Début de l'exemple
Fin de l'exemple


NO ADVANCING est facultatif et permet de garder le curseur positionné immédiatement derrière le dernier caractère écrit.

Les identificateurs sont des noms de variables, les littéraux sont des données brutes, manipulées sans l'intermédiaire de variables, par exemple des chaînes de caractères (délimitées par des guillemets) ou des valeurs numériques. Voici donc un exemple de Hello World ! :

Début de l'exemple
Fin de l'exemple