COBOL - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Histoire des standards COBOL

Ces spécifications furent approuvées par le comité complet, puis par le comité exécutif (CODASYL) en janvier 1960 et envoyées au bureau d'impression du gouvernement qui les édita et imprima en les nommant COBOL 60. Le langage fut développé en moins de six mois de travail, et il est toujours utilisé aujourd'hui, après plusieurs révisions standardisées par l'ANSI (American National Standards Institute), dont

  • COBOL-68 (1968) : gestion des tables, accès séquentiel, accès aléatoire, random processing, tri, report writer, segmentation et librairie
  • COBOL-74 (1974)
  • COBOL-85 (1985) qui témoigne d'un grand pas vers l'adoption de la programmation structurée par l'industrie informatique
  • En 1989, les fonctions intrinsèques sont ajoutées au langage ; elles permettent des opérations mathématiques (ACOS, pour calculer l'arc cosinus par exemple), logiques (MAX, MIN) ou sur des chaînes de caractères (UPPER-CASE).
  • COBOL 2002 introduit la programmation objet, le support de l'Unicode, du XML, etc.

Structure d'un programme en COBOL

Un programme comporte quatre divisions. La norme COBOL-85 ne rend obligatoire que la première.

  •       IDENTIFICATION DIVISION.      
     : Contient des informations générales sur le programme (dont le nom).
  •       ENVIRONMENT DIVISION.      
     : Contient des informations sur l'environnement (matériel et logiciel) dans lequel le programme s'exécute.
  •       DATA DIVISION.      
     : Contient les descriptions de données (variables, fichiers, paramètres et parfois description d'écran).
  •       PROCEDURE DIVISION.      
     : Contient la description des traitements effectués.

Chaque division est composée de 'sections', formées de 'paragraphes' composés de 'phrases' qui peuvent être des phrases impératives ou des clauses. Chaque phrase doit être terminée par un point.

Les six premières colonnes de chaque ligne de programme sont considérées comme une zone de commentaire, servant autrefois à numéroter les cartes perforées (en cas de chute du paquet, il suffisait de les passer sur une trieuse pour reconstituer la version correcte du programme). La septième colonne contient un caractère de contrôle : espace pour les lignes actives, étoile pour les commentaire.

La huitième colonne est le début des titres de paragraphes.

La douzième colonne est le début des instructions.

Les compilateurs COBOL modernes permettent l'emploi d'un format libre qui n'impose plus le colonnage.

Exemple de programme (Bonjour !)

Écrit dans le style typique des programmes sur cartes perforées (années 1960-70), avec lignes numérotées

      000100 IDENTIFICATION DIVISION.      000200 PROGRAM-ID. SALUTTOUS.      000300 DATE-WRITTEN. 21/05/05 19:04.      000400 AUTHOR UNKNOWN.      000500 ENVIRONMENT DIVISION.      000600 CONFIGURATION SECTION.      000700 SOURCE-COMPUTER. RM-COBOL.      000800 OBJECT-COMPUTER. RM-COBOL.      000900      001000 DATA DIVISION.      001100 FILE SECTION.      001200      100000 PROCEDURE DIVISION.      100100      100200 DEBUT.      100300 DISPLAY " " LINE 1 POSITION 1 ERASE EOS.      100400 DISPLAY "BONJOUR !" LINE 15 POSITION 10.      100500 STOP RUN.      

Note : ERASE EOS signifie "Erase End Of Screen". La commande ligne 100300 a donc pour effet d'effacer l'écran.

Exemple en format libre

Autre version du même exemple en COBOL-85 format libre :

      Identification division.        Program-id. Hello.      Procedure division.       Display "Hello world!" line 15 position 10.       Stop run.      
Page générée en 0.903 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise